でストアドプロシージャからの匿名型を返す次のストアドプロシージャを考えてみます。LINQ2SQL
public partial class DBSproc : DataContext
{
[Function(Name = "dbo.spGetCustomersAndOrders")]
[ResultType(typeof(Customer))]
// What type should I use here for the second resultset?
[ResultType(typeof(... what here? ...))]
public IMultipleResults GetCustomersAndOrders()
{
IExecuteResult result =
this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));
return (IMultipleResults)(result.ReturnValue);
}
}
:手順は、明らかに私は、この部分クラスメソッドで取得しようとしている2つの結果セットを返す
SELECT * FROM Customers;
SELECT Customer.Id, Customer.Name, Order.Total, Order.DateOrdered
FROM Customers INNER JOIN Orders ON Customers.Id = Orders.CustomerId;
私は、最初の結果セットがCustomerエンティティにマップされることを理解していますが、2番目の結果はどうでしょうか? 2つ目はカスタム選択で、複数のテーブルの複数の列を組み合わせます。私はこれらの特性を持つエンティティを持っていません。
その結果セットのためだけにダミーのエンティティを作成する必要がありますか?私は何とかそのようなアドホックなクエリに匿名の型を使うことができると思っていました。
ありがとうございました。
「役に立つ」回答がなくてもこの質問を見るのは恥ずかしいです。 – Jon