相关疑难解决方法(0)

扩展方法语法与查询语法

如果有时间使用标准linq关键字或linq扩展方法与lambda表达式,我正试图处理.他们似乎做同样的事情,只是写得不一样.这纯粹是风格问题吗?

var query = from p in Products
    where p.Name.Contains("foo")
    orderby c.Name
    select p;

// or with extension methods:
var query = Products
    .Where(p => p.Name.Contains("foo"))
    .OrderBy(p => p.Name);
Run Code Online (Sandbox Code Playgroud)

他们非常相似,第二个例子更简洁,但如果你不知道=>在做什么,可能会表现得更差.

除了编写简洁的代码之外,使用扩展方法而不是LINQ语法还有其他优点吗?

.net c# linq extension-methods linq-query-syntax

65
推荐指数
4
解决办法
3万
查看次数

LINQ:点表示法与查询表达式

我开始一般使用LINQ(到目前为止使用XML和toSQL).我已经看到有时候有两种或更多种方法可以达到相同的效果.拿这个简单的例子,据我所知,两者都返回完全相同的东西:

SomeDataContext dc = new SomeDataContext();

var queue = from q in dc.SomeTable
        where q.SomeDate <= DateTime.Now && q.Locked != true
        orderby (q.Priority, q.TimeCreated)
        select q;

var queue2 = dc.SomeTable
        .Where( q => q.SomeDate <= DateTime.Now && q.Locked != true )
        .OrderBy(q => q.Priority)
        .ThenBy(q => q.TimeCreated);
Run Code Online (Sandbox Code Playgroud)

除了我在语法中可能犯的任何错误或缺少参数或差异之外,我们的想法是有两种表达同一事物的方法; 我知道第一种方法有一些局限性,"点符号"更完整,但除此之外,还有其他优点吗?

linq lambda .net-3.5

57
推荐指数
3
解决办法
2万
查看次数

Linq查询还是Lambda表达式?

我在我的ASP.NET,C#,Web应用程序中使用实体框架.如果我需要从DataBase中选择一条记录(在数据访问层中),我应该使用哪种方法?Linq查询还是Lambda表达式?

例如:-

//Linq        
var result = from a in db.myTable.Take(1) where a.Id == varId  select a;
return result.First();

//Lambda
return db.myTable.FirstOrDefault(a => a.Id == varId);
Run Code Online (Sandbox Code Playgroud)

在这种情况下是否有任何首选方式或其他优势?

c# linq lambda

9
推荐指数
2
解决办法
3万
查看次数