0

Linqで次のように書くにはどうすればよいですか?

select * from CompetitionDealer d

left outer join CompetitionResult r 
on d.ID = r.fk_CompetitionDealer and     (r.fk_CompetitionParameter is null 
or r.fk_CompetitionParameter = ID1)

where fk_Competition = ID2

問題は、結合に「AND」があることです。どこに移動すると、結果がまったく異なるので、それはできません。

4

2 に答える 2

1

多分このようなもの:

var ls= (
        from d in db.CompetitionDealer
        from r in db.CompetitionResult
            .Where(a => a.fk_CompetitionDealer == d.ID 
                       && (a.fk_CompetitionParameter == null 
                       || a.fk_CompetitionParameter == ID1)).DefaultIfEmpty()
        where d.fk_Competition == ID2
        select d
    );

dblinq データ コンテキストはどこにありますか

于 2013-04-23T07:59:14.687 に答える
0

私はそれを2つの質問に分けて解決しました:

まず、次のリストを選択しました。

select * from CompetitionResult r where r.fk_CompetitionParameter = ID1)

そして、私は上記のリストに対して参加しました。

于 2013-04-23T08:35:32.870 に答える