相关实体不会为一个特定实体加载

时间:2013-11-19 23:11:07

标签: entity-framework-4

我有一个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();

0 个答案:

没有答案