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