4

我知道有两种不同的方法可以编写 LINQ 代码。有人可以告诉我这个简单代码块的两种方法吗?哪个是最常用或被认为最容易调试的

    var subTopics = _subTopicService.GetSubTopics(Id);
    var subTopicsSelect = (from subTopic in subTopics
          select new
          {
              id = subTopic.SubTopicId,
              name = subTopic.Name
          });
4

3 回答 3

2

由于您的查询仅包含一个fromandselect子句,因此将其转换为流畅语法所需要做的就是 call .Select

用流利的语法,那将是:

var subTopicsSelect = subTopics.Select(x => 
     new 
     {
          id = x.SubTopicId, 
          name = x.Name 
     });

延伸阅读

于 2013-07-27T07:18:42.737 回答
1

您已经展示了第一种方式“类似 SQL 的语法”,第二种方式是“Lambda 语法”:

subTopics.Select(s => new { id = s.SubTopicId, name = s.Name });
于 2013-07-27T07:19:18.180 回答
0

这真的让我很困惑,因为我有一种完全不同的方式来选择这里有两种方法:

    var emailsToSend = db.emailQueues.Where(
            e => e.sent == false
        ).Take(5);


    var emailsToSend2 = from e2 in db.emailQueues
                            .Take(5)
                            .Where(
                            e => e.sent == false
                        ) 

                        select e2;

他们似乎都做同样的事情,但我更喜欢第一种方法的语法。它更容易记住。

于 2014-02-12T09:46:54.660 回答