1
随着EF我可以返回对象的集合,像这样实体框架 - 从SQL语句
entities.Customers.ToArray();
,我还可以包括其他表得到多个结果,这样我就可以有效地得到2结果在一个设置回查询
entities.Customers.Include("Invoice").ToArray();
,或者如果我有一些自定义的SQL我可以achive类似的结果:
SqlDataReader reader = GetReaderFromSomewhere("SELECT * FROM Customer");
entities.Translate<Customer>(reader).ToArray();
但是我怎样才能从我自己的SQL中得到多个结果?我想是这样的
SqlDataReader reader = GetReaderFromSomewhere("SELECT Customer.Name AS CustomerName, Invoice.Number AS InvoiceNumber FROM Customer JOIN Invoice ON Customer.ID = Invoice.CustomerID");
entities.Translate<Customer>(reader).Include<Invoice>().ToArray();
在上面的例子中,我已经前缀所有返回的数据与表名,这样的翻译方法可以知道哪些列属于哪个表。我假定Tranlate方法不支持这一点,但EF在调用include方法时必须做类似的事情。所以我的问题是,如何在使用Translate时获得Include的功能?
所以唯一的解决办法是自己写点东西?当然不是我想要的答案,但这是一个答案,并允许我前进。我可能会考虑写点东西。它看起来不太复杂(着名的遗言?:-)感谢答复,如果解决方案在一天左右没有出现,我会将其标记为答案。 – MikeKulls