使用LINQ具有多个在条件(using Linq with multiple where condi

2019-09-19 01:25发布

我有一个代表对数据库中的表定义一个类:

public class MyClass{
    public int MyClassId{get;set;}
    public string Name{get;set;} 
    public string LastNamw{get;set;}
    public DateTime From{get;set;}
    public DateTime To{get;set;}
}

关于这一点我想在其上运行Oracle数据库的一些搜索查询。

现在的问题是:

var list = context.MyClass
    .Where(x => x.From>= FromMyDate)
    .Where(x => x.To <= ToMyDate);


var list = context.MyClass
    .Where(x => x.From>= FromMyDate && x.To <= ToMyDate);

它是更好地使用与在条件或一个多行? 为什么...请

据我了解,我使用多个where子句时,我想第一个条件的搜索结果。

Answer 1:

它不应该的问题

你只是创建传递给Oracle提供的表达式目录树,这是供应商的工作以创建结果的SQL查询。 尽管表达式树将是两者之间略有不同,它仍然应该产生相同的SQL。 我喜欢用SQL事件探查器,以确保我的LINQ查询产生有效的SQL。



Answer 2:

下面笔者就将约翰飞碟双向的答案张贴Vossad01。

正确的LINQ的where子句



文章来源: using Linq with multiple where conditions