18

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

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 条件的多行还是一个更好?为什么...请

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

4

2 回答 2

11

没关系

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

于 2012-07-03T15:44:04.077 回答
6

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

正确的 Linq where 子句

于 2012-07-14T11:45:44.990 回答