Как сделать лямбда-выражение linq - PullRequest
0 голосов
/ 06 марта 2020
select a.ObjectFieldID,
       a.FieldName,
       b.RelationName 
  from tblMNG_Framework_ObjectField as a left join 
       tblMNG_Framework_ObjectRelation as b on a.ObjectID = b.RelatedObjectID 
                                           and a.ObjectFieldID = b.RelatedKeyFieldID 
 where a.ObjectID = 2 
   and a.Deleted = 0

1 Ответ

0 голосов
/ 06 марта 2020

Это мой быстрый код, у меня нет данных для тестирования, поэтому оставьте отзыв о вашем образце данных, если левое соединение не точное.

tblMNG_Framework_ObjectField.GroupJoin(tblMNG_Framework_ObjectRelation,
                a => new { JoinCol1 = a.ObjectID, JoinCol2 = a.ObjectFieldID },
                b => new { JoinCol1 = b.RelatedObjectID, JoinCol2 = b.RelatedKeyFieldID },
                (a, b) => new { a, b }).Where(x => x.a.ObjectID == 2 && x.a.Deleted == 0)
                .SelectMany(b => b.b.DefaultIfEmpty(),
                (a, b) => new { a.a.ObjectID, a.a.FieldName, b.RelationName });

Надеюсь, это поможет

...