それは例です
SQL
create view v_join
as select m.* , d.oneDetail from master m, detail d
where m.key = d.key
LINQ
var view = from v in dc.v_join select new
{
Master = ???? /// that is an issue, how can I construct the objects using same fields but from another query,
Detail = v.oneDetail
};
foreach (var entry in view)
{
Master mEntry = entry.Master; // then we can use it, there are no problems
}
この状況はかなり頻繁に発生し、同じフィールドを使用して別のビューからオブジェクトを構築するためのトリッキーな方法があります。
C#側でこのような結合を行うと、パフォーマンスが低下したり、遅延読み込みの問題が発生したりします。とにかく、LINQは各詳細レコードをフェッチするために多くのクエリを発行しますが、パフォーマンスの観点からは受け入れられません。
明白な解決策があるに違いありません、私は誰も同じ問題に直面したとは信じられません。dc.Translateのようなすべての明白なソリューションはほとんど同じですが、私が必要としているものとは異なります。
感謝します。