据我所知,我可以通过两种不同的方式编写LINQ代码。有人能告诉我这个简单代码块的两种方法。哪种是最常用或最容易调试的
var subTopics = _subTopicService.GetSubTopics(Id);
var subTopicsSelect = (from subTopic in subTopics
select new
{
id = subTopic.SubTopicId,
name = subTopic.Name
});
答案 0 :(得分:2)
由于您的查询仅包含from
和select
子句,因此将此转换为流畅语法所需要做的就是调用.Select
。
用流利的语法,即:
var subTopicsSelect = subTopics.Select(x =>
new
{
id = x.SubTopicId,
name = x.Name
});
进一步阅读
答案 1 :(得分:1)
您已经显示了第一种方式“类SQL语法”,第二种方式是“Lambda语法”:
subTopics.Select(s => new { id = s.SubTopicId, name = s.Name });
答案 2 :(得分: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;
他们似乎都做了完全相同的事情,但我更喜欢第一种方法的语法。它更容易记住。