想知道是否有一种方法可以将某些重排从LINQ to SQL投影类型中取出。LinqToSql:我如何创建投影来坚持DRY?
例子:
表:地址
领域: AddressID,HouseNumber,街道,城市,省,邮编,更+20
类MyAddress: AddressID,HouseNumber ,Street(Only 3 fields)
LINQ:
from a in db.Addresses select new MyAddress { AddressID = a.AddressID, HouseNumber = a.HouseNumber, Street = a.Street }
上面的查询作品完美,我明白为什么这样的事情会返回各行中的所有20+领域:
from a in db.Addresses select new MyAddress(a); class MyAddress { public MyAddress(Address a) { this.AddressID = a.AddressID, this.HouseNumber = a.HouseNumber, this.Street = a.Street } }
这使我对我的问题:
是有可能实现某种辅助函数或扩展方法来从LINQ模型“映射”到MyAddress,但只返回查询结果中的必要字段而不是所有字段?
为什么你需要一个简化的数据类型? – 2010-04-09 12:44:39
如果我正在使用一个有20-30-40个字段的表格,而我只需要/需要3个,为什么SQL要做这项工作并通过电线返回所有额外的数据? – Mike 2010-04-09 18:28:52