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

时间:2012-09-19 06:47:58

标签: c# asp.net entity-framework-4

我正在研究一个项目的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实体的关系。我不知道这是否可行,但我可以在调试和INSIDE 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")
}

CAN 到达外面的Product_Attribute实体,但当我尝试获取其他实体 OF Product_Attribute 时,我

  

指定的包含路径无效。 EntityType   'NoxonModel.Product'没有声明导航属性   名称'Product_AttributeType'

错误实际上是有道理的。如何解决这个问题并将PRODUCT实体置于区块之外,仍然可以访问其他相关表格?

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

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以通过提供由.分隔的导航属性名称来急切加载导航属性。

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")
}