使用Linq具有多个条件

时间:2012-07-03 15:26:21

标签: linq linq-to-entities oracle10g

我有一个类,表示定义的数据库上的表:

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子句。

2 个答案:

答案 0 :(得分:10)

无所谓

您只是创建一个传递给Oracle Provider的表达式树,并且创建结果SQL查询是提供者的工作。即使表达式树在两者之间略有不同,它仍然应该导致相同的sql。我喜欢使用sql profiler来确保我的linq查询生成有效的sql。

答案 1 :(得分:3)

我将按照Vossad01发布的John Skeet回答。

Proper Linq where clauses