我有一个Payment
,其上有一个UserAccountId
,它引用了一个名为User_Account
的表。我想用我的查询加载相关的User_Account
。它总是回来null
,即使我明确地呼叫.Include("User_Account")
。此外,即使我明确包含它们,也不会为Payment
加载其他相关字段。
如果我查看其他实体,则会在未明确要求的情况下加载其相关实体。如果我ctx.User_Account.ToList()
,那么(只有一个)User_Account
有一个Payments
列表(只有一个 - 我正在寻找的那个)。
UserAccountId
是数据库中的外键,它填充在我正在查看的实体上。这是我的代码:
var payments = (from p in ctx.Payments.Include("User_Account")
join pi in ctx.PaymentInvoices on p.Id equals pi.PaymentId
where (p.UserId == userId || userId == -99) &&
(string.IsNullOrEmpty(searchParams.DocumentNumber) || p.TransactionID == searchParams.DocumentNumber) &&
(string.IsNullOrEmpty(searchParams.PONumber) || pi.PONumber == searchParams.PONumber) &&
(string.IsNullOrEmpty(searchParams.SelectedStatus) || p.Status == searchParams.SelectedStatus) &&
(searchParams.SelectedBillTos.Contains(pi.CustomerId))
select p).Distinct();
return payments.ToList();