使用Linq具有多个条件

cpo*_*ign 14 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;}
}
Run Code Online (Sandbox Code Playgroud)

我想对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);
Run Code Online (Sandbox Code Playgroud)

在条件或一个条件中使用多行是否更好?为什么......拜托

据我所知,当我想搜索第一个条件的结果时,我使用多个where子句.

Adu*_*cci 10

没关系

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


cpo*_*ign 7

我将关注 Vossad01 发布的 John Skeet 回答。

正确的 Linq where 子句