参照テーブルがあります。このテーブルには 3 つのフィールド ( Id
、User1
、User2
) があります。このフィールドUser2
は null 許容にすることができますが、使用しない場合は 0 を使用します。
以下の Linq クエリを実行すると、レコードUser2 == 0
は結果の一部ではありません。
この場合、左右の結合を行うにはどうすればよいですか?
class MyReference
{
public int Id { get; set; }
public int User1 { get; set; }
public int User2 { get; set; }
}
class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
class MyClassResult
{
public int Id { get; set; }
public string U1FirstName { get; set; }
public string U2FirstName { get; set; }
}
var result =
(from myReference in context.MyReference
join u1 in context.USER on myReference.User1 equals User.Id
join u2 in context.USER on myReference.User2 equals User.Id
select new MyClassResult
{
Id = myReference.Id,
U1FirstName = u1.FirstName,
U2FirstName = u2.FirstName
}).ToList();