1

私はプロジェクトでEFに取り組んでいます。最近、SlaumaとMark Oretaのおかげで、オブジェクト関係に到達できず、エラーが発生する問題を解決しましたThe ObjectContext instance has been disposed and can no longer be used for operations that require a connection.詳細な投稿はこちらです。

私は非常によく似た問題を抱えており、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")
}

外部のProduct_Attributeエンティティに到達できますが、Product_Attributeの他のエンティティを取得しようとする

指定されたインクルードパスが無効です。EntityType'NoxonModel.Product'は、'Product_AttributeType'という名前のナビゲーションプロパティを宣言していません

エラーは実際には理にかなっています。それを解決してPRODUCTエンティティをブロックの外に出し、それでも他の関連するテーブルに到達できるようにするにはどうすればよいですか?

そしてここにデータベースがあります、そして事前にどうもありがとうございました:

ここに画像の説明を入力してください

4

1 に答える 1

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")
}
于 2012-09-19T07:06:02.607 に答える