[英]C# String.Compare in FirstOrDefault from entity framework
我正在失去它... = \\
使用.NET Framework 4使用实体框架访问MS SQL DB
(JFYI-这是一些看起来很丑陋的代码。由于它是用于本地服务的,因此永远无法使用大于1000行的表-所选择的工具集或多或少都可以接受。)
运行下一个代码
var itemOfInterest = entity.tbl_Items
.FirstOrDefault(item =>
string.Compare(item.Name, SomeLocalItem.Name, true) == 0
&& (string.Compare(item.tbl_Server.FQDN, SomeLocalItem.ServerFQDN, true) == 0)
|| (string.Compare(item.Server.FQDN, WithoutDomainLocalFQDN, true) == 0)
);
它会返回我的第一个(或空值)项目,
(string.Compare(item.tbl_Server.FQDN, SomeLocalItem.ServerFQDN, true) == 0)
|| (string.Compare(item.Server.FQDN, WithoutDomainLocalFQDN, true) == 0)
原因
跑步时
var serviceOfInterest = entity.tbl_Service
.Where(item => string.Compare(item.Name, SomeLocalItem.Name, true) == 0)
.FirstOrDefault(item =>
(string.Compare(item.tbl_Server.FQDN, SomeLocalItem.ServerFQDN, true) == 0)
|| (string.Compare(item.Server.FQDN, WithoutDomainLocalFQDN, true) == 0)
);
我得到正确的结果。
我不舒服 可能这里的问题确实很简单,但我不能仅仅看到它。 在项目名称中比较的字符串看起来像这样:
“我的真棒物品-钢笔。”
“我的真棒物品-爷爷枪”
“我的令人敬畏的物品-放在口袋里的东西-给你”
任何帮助表示赞赏。 我什至可以给我起这样的问题的名字,但我确实真的需要答案。
提前谢谢了。
尝试这个,
var itemOfInterest = entity.tbl_Items.FirstOrDefault(item => string.Compare(item.Name, SomeLocalItem.Name, true) == 0 && ((string.Compare(item.tbl_Server.FQDN, SomeLocalItem.ServerFQDN, true) == 0) || (string.Compare(item.Server.FQDN, WithoutDomainLocalFQDN, true) == 0)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.