0

我有一个类似的类结构:

public class Customer{
         public AgreementDetails Agreement { get; set; }
}

[ComplexType]
public class AgreementDetails{
    public int SalesPersonId { get; set; }
    [ForeignKey("SalesPersonId")]
    [NotMapped]
    public virtual SalesPerson Sales { get; set; }
}
public class SalesPerson
{
...
}

当我显示客户列表时,我正在调用 Sales 属性来显示销售人员的详细信息,但属性为 null,通常对于导航属性,可以避免使用 .Include 方法,但在我的情况下它不起作用,所以查询是

List<Customer> res = db.Customers.Include(c=>c.Agreement.Sales).ToList();

例外是:

指定的包含路径无效。EntityType 'CodeFirstNamespace.Customer' 未声明名为 'Agreement' 的导航属性。

4

1 回答 1

1

我找到了答案:复杂类型不应该包含导航属性(以及外键)。

于 2012-10-12T20:38:40.377 回答