1

asp / mvc の 2 つのリポジトリからのデータの結合について質問があります。

たとえば、UserRepo と InvoiceRepo の 2 つのリポジトリがあります。

ここで、ユーザー データと請求書データを含むクエリを作成したいと考えています (例: 最後の請求書の住所とデータを持つすべてのユーザー)。

これを行うための最良の方法は何ですか?

4

2 に答える 2

1

InvoiceRepo結合を実行して必要なすべてのデータを返すメソッドを使用して、既存のリポジトリ (おそらく) を拡張できます。

InvoiceRepo.GetUserInvoices(userId)賢明な選択肢のように聞こえます。

これはリポジトリ パターンの一般的な問題です。メソッドの適切なリポジトリを見つけます。

于 2012-12-19T09:17:50.343 に答える
0

なぜ1回の電話でそれをしなければならないのですか?

var users = userRepos.GetUsers();
var lastInvoices = invoiceRepos.GetLastInvoiceForAllUsers();
var usersWithInvoices = (from x in users
                         select new UserWithInvoice(x, lastInvoices.First(inv => inv.userId = x.Id);

これは 2 つの SELECT であり、理解しやすいはずです。

于 2012-12-19T09:22:49.023 に答える