gpt4 book ai didi

c# - LINQ 'select new' 是做什么的?

转载 作者:行者123 更新时间:2023-11-30 13:32:08 31 4
gpt4 key购买 nike

我构建了以下 LINQ 查询

var activeMembers = from m in context.py3_membershipSet
join c in context.ContactSet on m.py3_Member.Id equals c.ContactId
where m.statuscode.Value == 1
orderby m.py3_name
select m;

但我后来看到了一个这样格式化的例子:

var contacts =
(
from c in xrm.ContactSet
join a in xrm.AccountSet on c.ParentCustomerId.Id equals a.Id
where a.Name == "Acme Pty Ltd"
select new
{
Name = c.FullName,
DOB = c.BirthDate,
Gender = (c.FormattedValues.Contains("gendercode") ? c.FormattedValues["gendercode"] : "Ambiguous")
}
);

(我意识到这是一组不同的数据)在这种情况下包含“select new”实际上做了什么?

与我在第一个代码块中的示例相比,它有什么好处?

我意识到有些人可能会觉得这是一个乏味的问题,但我想学习 LINQ 并且需要快速学习它。但我也不想在客户的实时 CRM 上运行一些我不完全理解的东西

最佳答案

无论哪种方式,LINQ 都会返回匿名对象的集合。 select new 让我们定义该对象的布局以及该匿名对象中包含哪些属性/属性名称。

您还可以使用 select new ClassName { } 返回您定义的实体类的实例列表。

关于c# - LINQ 'select new' 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287316/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com