【发布时间】:2011-02-18 06:18:40
【问题描述】:
由于 LINQ 查询表达式在“幕后”被翻译为调用相应方法查询将调用的相同方法(至少我是这么认为的),我希望这两个查询返回相同的类型。出于某种原因:
var result = from i in db.Invoices
select new { i.InvoiceNum };
将结果设置为IQueryable<'a>,每个成员都有一个InvoiceNum 属性,而这个
IQueryable<string> result2 = db.Invoices.Select(i => i.InvoiceNum);
足够聪明,可以返回IQueryable<string>(显然,因为它可以编译)
显然我的一个假设是错误的,我希望专家可以帮助我更好地理解。
(这是 EF4,但 linq-to-objects 也会发生同样的情况,我猜 L2S 也会发生同样的情况)
【问题讨论】:
标签: c# linq-to-sql entity-framework-4 linq-to-entities