那是例子
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 这样的所有显而易见的解决方案几乎都是一样的,但并不完全符合我的需要。
帮助表示赞赏。