Ada*_*kis 2 c# linq-to-entities linq-to-sql entity-framework-4
由于LINQ查询表达式被"翻译"以调用相应方法查询将调用的相同方法(至少我认为是这样),我希望这两个查询返回相同的类型.出于某种原因,尽管如此:
var result = from i in db.Invoices
select new { i.InvoiceNum };
Run Code Online (Sandbox Code Playgroud)
将结果设置为IQueryable<'a>每个具有InvoiceNum属性的成员,同时这样
IQueryable<string> result2 = db.Invoices.Select(i => i.InvoiceNum);
Run Code Online (Sandbox Code Playgroud)
足够聪明回归IQueryable<string>(显然,因为编译)
很明显,我的一个假设是错误的,我希望专家可以帮助我更好地理解.
(这是EF4,但是对于linq到对象也是如此,我猜测L2S也会发生同样的情况)
当你写作时,new { }你正在创建一个匿名类型
尝试
var result = from i in db.Invoices
select i.InvoiceNum;
Run Code Online (Sandbox Code Playgroud)
你会看到它返回你期望的类型.
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |