这个linq查询有效吗?
这个linq查询有效吗这个linq查询有效吗?,linq,Linq,这个linq查询有效吗 var qry = ((from member in this.ObjectContext.TreeMembers.Where(m => m.UserId == userId && m.Birthdate == null) select member.TreeMemberId).Except(from item in this.ObjectContext.FamilyEvents select item.TreeM
var qry = ((from member in this.ObjectContext.TreeMembers.Where(m => m.UserId == userId && m.Birthdate == null)
select member.TreeMemberId).Except(from item in this.ObjectContext.FamilyEvents select item.TreeMemberId));
var mainQry = from mainMember in this.ObjectContext.TreeMembers
where qry.Contains(mainMember.TreeMemberId)
select mainMember;
这将转换为多个sql调用还是仅一个sql调用?它能被优化吗?基本上,我有两个表,我想从表1中选择datetime为null的记录,并且该记录不应存在于表2中。确定查询是否将进行多次调用的最简单方法是设置数据上下文的
.Log
属性。我通常将其设置为写入debugoutputwitter
。我们可以找到这种类的一个很好的例子
但是,一般来说,如果您使用的类属性没有直接映射到where子句或join子句中的数据库字段,则它通常会进行多次调用。从您提供的内容来看,您的场景似乎不是这样的,但我不能绝对确定并建议您使用上面列出的方法。为什么不执行它并查看一下?我讨厌人们将StackOverflow视为他们个人的人工编译器。@Martinho Fernandes:-+1。看完你的评论后,我想说你部分是对的。谢谢你通知我-哇!关于不映射到数据库的自定义属性的好答案和好提示。是的,你在写,在我的场景中不是这样的。