代码之家  ›  专栏  ›  技术社区  ›  E-A

如何用EF在ASP.NET C#中实现实体上的关系?

  •  1
  • E-A  · 技术社区  · 13 年前

    我正在EF做一个项目。最近,多亏了Slauma和Mark Oreta,我解决了无法达到对象关系和出错的问题 The ObjectContext instance has been disposed and can no longer be used for operations that require a connection. 这个 detailed post is here

    我有一个非常类似的问题,无法用INCLUDE解决。我想了解关于PRODUCT实体的关系。我不知道这是否可能,但当我调试和内部时,我可以达到它 using (var Context = base.Entities) 。但是在这个街区外面怎么样?这是代码。

    using (var Context = base.Entities)
    {
                    return Context.Product
                                        .Include("Product_Attribute")
                                        .Include("Product_AttributeType")
                                        .Include("Product_AttributeType_Title")
                                        .Include("Product_AttributeValueUnit")
    }
    

    罐头 在外部访问Product_Attribute实体,但当我尝试获取其他实体时 产品_属性 那是我得到

    指定的Include路径无效。EntityType “NoxonModel.Product”未使用声明导航属性 name“产品属性类型”

    这个错误实际上是有道理的。我如何解决它并将PRODUCT实体放在块之外,同时仍然能够访问其他相关的表?

    这是数据库,提前非常感谢:

    enter image description here

    1 回复  |  直到 9 年前
        1
  •  2
  •   Eranga    13 年前

    您可以通过提供由 .

    using (var Context = base.Entities)
    {
          return Context.Product
              .Include("Product_Attribute")
              .Include("Product_Attribute.Product_AttributeType")
              .Include("Product_Attribute.Product_AttributeType.Product_AttributeType_Title")
              .Include("Product_Attribute.Product_AttributeType.Product_AttributeValueUnit")
    }