我有一个参考表,在这个表中有 3 个字段(Id
, User1
, User2
)。该字段User2
可以为空,但不使用时我们使用 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();