Linq 亚音速外连接
亚音速3中的Outer Join语句似乎有一个Bug,或者这只是我的无知,但下面的内容很糟糕:Linq 亚音速外连接,linq,subsonic,subsonic3,outer-join,Linq,Subsonic,Subsonic3,Outer Join,亚音速3中的Outer Join语句似乎有一个Bug,或者这只是我的无知,但下面的内容很糟糕: var Objeto = from t in Table1.All() join su in table2.All() on t.Id equals su.Id join tab2 in Table1.All() on t.PId equals tab2.Id into gj from j in gj.DefaultIfEm
var Objeto = from t in Table1.All()
join su in table2.All() on t.Id equals su.Id
join tab2 in Table1.All() on t.PId equals tab2.Id into gj
from j in gj.DefaultIfEmpty()
select new
{
t.Field1,
SN = su.Field123,
PTN = (j == null ? null : j.FieldABC)
};
与:
The expression of type 'System.Linq.IQueryable` xxxx is not a sequence
他们已经在IQueryable方面遇到了问题:
仅供参考…他们已经在IQueryable上遇到了问题:
仅供参考…在这里恢复一个旧主题,但对于以后搜索的人,对于左外连接,在亚音速3中有一种不同的语法似乎可以正常工作 而不是原始post中执行
连接的Linq表达式。。。进入…
将其改写为:
var Objeto = from t in Table1.All()
join su in table2.All() on t.Id equals su.Id
from j in Table1.All().Where(x => x.Id == t.PId).DefaultIfEmpty()
select new
{
t.Field1,
SN = su.Field123,
PTN = (j == null ? null : j.FieldABC)
};
关键部分是:来自表1.All()中的j,其中(x=>x.Id==t.PId)。DefaultIfEmpty()
将执行外部联接,而不是传统的联接。。。进入
希望这有帮助 在这里重提一个老话题,但对于那些后来搜索的人来说,对于左外连接,在亚音速3中有一种不同的语法似乎可以正常工作 而不是原始post中执行
连接的Linq表达式。。。进入…
将其改写为:
var Objeto = from t in Table1.All()
join su in table2.All() on t.Id equals su.Id
from j in Table1.All().Where(x => x.Id == t.PId).DefaultIfEmpty()
select new
{
t.Field1,
SN = su.Field123,
PTN = (j == null ? null : j.FieldABC)
};
关键部分是:来自表1.All()中的j,其中(x=>x.Id==t.PId)。DefaultIfEmpty()
将执行外部联接,而不是传统的联接。。。进入
希望这有帮助 哥们,这是评论,不是回答;)是的,没错……我还在寻找解决办法。因此,这篇博客文章是一个很好的起点……现在的答案似乎是这是亚音速的一个bug。伙计,这是一个评论,不是答案;)是的,没错……我还在寻找解决办法。因此,博客条目是一个很好的起点…现在的答案似乎是,这是亚音速中的一个错误。如果我删除外部连接,它工作得很好…..如果我删除外部连接,它工作得很好。。。。。