Linq 亚音速外连接

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

亚音速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.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。伙计,这是一个评论,不是答案;)是的,没错……我还在寻找解决办法。因此,博客条目是一个很好的起点…现在的答案似乎是,这是亚音速中的一个错误。如果我删除外部连接,它工作得很好…..如果我删除外部连接,它工作得很好。。。。。