相关疑难解决方法(0)

流利和查询表达 - 一个优于其他人的利益吗?

LINQ是对.NET以来最伟大的改进之一,它可以节省大量的时间和代码行.但是,对于我来说,流畅的语法似乎比查询表达式语法更自然.

var title = entries.Where(e => e.Approved)
    .OrderBy(e => e.Rating).Select(e => e.Title)
    .FirstOrDefault();

var query = (from e in entries
             where e.Approved
             orderby e.Rating
             select e.Title).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

这两者之间是否有任何区别,或者一方面有什么特别的好处呢?

c# linq

247
推荐指数
8
解决办法
6万
查看次数

何时在LINQ中使用lambda表达式而不是Where子句

我一直在深入研究LINQ,而我正在努力挖掘这个lambda表达式业务.我只是没有看到语法的一些细微差别的好处.首先,在我看来,lambda表达式大多只是使用Where子句的另一种方式.为什么我不会只使用Where子句呢?lambda表达式更有效吗?

是否只是另一个语法上的补充,从另一个组中吸引程序员在C#中感觉更舒服?还有其他更好的用于lambda表达式的用例,我还没有接触过吗?

linq lambda where-clause

6
推荐指数
1
解决办法
7026
查看次数

LINQ - 使用选择 - 理解选择

我觉得LINQ有点困难.我喜欢这个概念,并相信它有很大的潜力.但是,在编写了这么多SQL之后,语法对我来说并不容易.

A. 有多种方式可以选择什么?

我看到我能够创建一个上下文并使用方法执行Select().

context.Table.Select(lamba expression);
Run Code Online (Sandbox Code Playgroud)

好的......我为什么要用这个?它与这种类型的选择相比如何?

var returnVal = from o in context.Table
                orderby o.Column
                select o;
Run Code Online (Sandbox Code Playgroud)

B.请解释一下变量的性质

**from X** in context.Table
Run Code Online (Sandbox Code Playgroud)

为什么我们在这里贴上一个看似任意命名的变量?这不应该是一种已知的类型<Table>吗?

c# linq .net-4.0

4
推荐指数
2
解决办法
7827
查看次数

我在用什么?(LINQ/SQL)

我的项目目前用于"linq"的以下语法

 var le = domainModel.EntityDataContext.Table_name_here.Query()
                    .WithFullReadCheck(domainModel.Security)
                    .Where(x => x.Metadata.AdvisorID == advisorId).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

据说上面的代码是linq,没有意识到linq我决定学习它.但是,在https://msdn.microsoft.com/en-us/library/gg509017.aspx上,情况完全不同.

我的代码中使用了什么?它是linq的一个版本吗?还有别的吗?

c# linq

3
推荐指数
1
解决办法
89
查看次数

哪一个是更好的lambda表达式或

我有遵循LINQ to SQL查询表达式

from msg in TblUserMessages 
join user in Aspnet_Users on msg.FromUserID equals user.UserId
select new {
       msg.FromUserID, 
       msg.ToUserID, 
       msg.MessageLocationID, 
       msg.MessageID, 
       user.UserName
       }
Run Code Online (Sandbox Code Playgroud)

并遵循LINQ方法表达式:

TblUserMessages
.Join (
  Aspnet_Users, 
  msg => msg.FromUserID, 
  user => user.UserId, 
  (msg, user) => 
     new  
     {
        FromUserID = msg.FromUserID, 
        ToUserID = msg.ToUserID, 
        MessageLocationID = msg.MessageLocationID, 
        MessageID = msg.MessageID, 
        UserName = user.UserName
     }
)
Run Code Online (Sandbox Code Playgroud)

这两个都返回相同的结果集.这是例如:

82522f05-2650-466a-a430-72e6c9fb68b7
6b2a174a-8141-43d2-b3ad-5b199bcbfcae
1
1
waheed
Run Code Online (Sandbox Code Playgroud)

哪一个更好用.在FIRST一个或SECOND一个.

谢谢

c# linq lambda linq-to-sql

2
推荐指数
1
解决办法
427
查看次数

哪个LINQ语句更好,为什么?

在这两个语句中,我试图获取具有变量中指定名称的Category的ID;

两者都很好.有什么不同,哪个更好?

string name = "Progreammers";

var categoryID = from c in DataContext.Categories
                             where c.Name == name
                             select c.CategoryID;

var categoryID  = 
  DataContext.Categories.Single(c => c.Name == name).CategoryID;
Run Code Online (Sandbox Code Playgroud)

编辑:表中的每个CategoryID(字段)只有一个名称(字段).

c# linq linq-to-sql

2
推荐指数
1
解决办法
170
查看次数

2
推荐指数
1
解决办法
427
查看次数

标签 统计

linq ×7

c# ×5

lambda ×2

linq-to-sql ×2

.net-4.0 ×1

where-clause ×1