【发布时间】:2012-07-17 10:15:57
【问题描述】:
这两个主题的链接:
Convert Lambda Expression of a query to linq version
和
return items that all records related to that items have specific conditions
在第一个主题@xanatos 评论说:
@Kerezo 请注意,新的 { r.City } 错误出现两次(每个查询一次)。 new { r.City } 创建一个匿名对象,该对象具有一个名为 City 的属性,其中包含 City 对象(因此您将 City 包装在一个对象中)没有 new 您直接拥有 City
考虑这段代码:
var citiesToExclude = from r in ent.TestAllStatusEqualsOnes
where r.Status != 1
select r.City;
GridView1.DataSource = citiesToExclude;
GridView1.DataBind();
如果我这样写代码:
var citiesToExclude = from r in ent.TestAllStatusEqualsOnes
where r.Status != 1
select new { r.City };
GridView1.DataSource = citiesToExclude;
GridView1.DataBind();
一切都是平等的。
我不明白select r.Field 和select new {r.Field} 之间有什么区别。谁能解释一下?
谢谢
【问题讨论】:
标签: c# linq entity-framework linq-to-sql c#-4.0