【发布时间】:2016-02-04 13:42:06
【问题描述】:
您好,我有一个用户数据库,可以接收特定服务器的电子邮件。
表格示例:
UserName Server1 Server2 Server3
Jane.Doe True False True
让我解释一下到底发生了什么,所以我为服务器设置一个 true 或 false 是否可以接收特定服务器的电子邮件。
现在用户提交了一个日志,然后他们选择了他们要报告的服务器。该服务器的管理员将收到一封电子邮件。
但是我不想硬编码(我的老板生我的气):
例子:
if (logSubmission.curServer == "Server1")
{
email = db.Users.Where(m => m.Server1 == true).Select(m => m.UserName).ToList();
}
所以我认为我可以做的是:
IEnumerable<SelectListItem> server = db.servers.Select(m => new SelectListItem
{
Value = m.server1,
Text = m.server1
});
string serverFixed = "";
foreach (var item in server)
{
if (item.Text == logSubmission.curServer)
{
serverFixed = item.Text;
serverFixed = serverFixed.Replace(" ", string.Empty);
}
}
我有一个名为服务器的表,其中包含所有服务器。 所以我调用它并创建一个 SelectListItem 列表。
我获取服务器的文本并将其与我们正在查看的当前服务器匹配。
完成后,我必须删除空格,因为有些服务器是这样的:“服务器 2”
由于我的用户表有它作为“Sever2”,我需要删除空格以匹配它。
现在我需要找到一种方法让该变量 serverFixed 变成类似的样子:
email = db.Users.Where(m => m.Server1 == true).Select(m => m.UserName).ToList();
我觉得如果我可以更改 .Where 以某种方式匹配 serverFixed 我可以做到。
任何想法我可以做什么?谢谢!
【问题讨论】:
标签: c# linq asp.net-mvc-4