【问题标题】:Include function returns error saying A specified Include path is not valid包含函数返回错误,指出指定的包含路径无效
【发布时间】:2019-08-01 15:26:48
【问题描述】:

我正在尝试使用名为 Transctions 的关系表数据获取 Products 数据。但是当我尝试像下面那样使用.Include 时,我遇到了一个错误。请给我提示并告诉我如何解决?

using (var ctx = new ML_DatabaseEntities())
{
    var Items = ctx.Products.Include("Transactions").ToList();
}

错误:指定的包含路径无效。实体类型 “ML_DatabaseModel.Products”未声明导航属性 名称为“交易”。

【问题讨论】:

  • 您的模型没有定义这种关系,您必须明确声明它。

标签: c# entity-framework


【解决方案1】:

我假设您在 ProductTransactions 之间存在一对多关系。所以需要给Product添加导航属性:

public class Product {
  public int ProductID { get; set; }
  public virtual ICollection<Transaction> Transactions { get; set; }
}

那么你的Transaction 类应该是这样的:

public class Transaction {
  public int TransactionID { get; set; }
  public int ProductID { get; set; }
  public virtual Product Product { get; set; }
}

而用法是:

using (var ctx = new ML_DatabaseEntities())
{
    var Items = ctx.Products.Include(p => p.Transactions).ToList();
}

要查看更多见解,您可以查看link(EF6 不是核心)

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    相关资源
    最近更新 更多