私はMVCでEFCodeFirstを使用することから始めており、何かに少し困惑しています。私は次のdb構造を持っています(申し訳ありませんが、残念ながら画像を投稿することはできませんでした):
表-製品
表-関連製品
1-多くのProducts.ProductID->RelatedProducts.ProductID1-
多くのProducts.ProductID->RelatedProducts.RelatedProductID
基本的に私はそれに関連する一連の製品を持つことができる製品を持っています。これらは、私がRelatedProductIDと名付けた関連製品のProductIDとProductIDによって定義された関係でRelatedProductsテーブルに保持されます。私のコードでは、次のクラスを作成しました。
public class MyDBEntities : DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<RelatedProduct> RelatedProducts { get; set; }
}
public class Product
{
public Guid ProductID { get; set; }
public string Name { get; set; }
public string Heading { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public Guid CategoryID { get; set; }
public string ImageURL { get; set; }
public string LargeImageURL { get; set; }
public string Serves { get; set; }
public virtual List<RelatedProduct> RelatedProducts { get; set; }
}
public class RelatedProduct
{
public Guid ProductID { get; set; }
public Guid RelatedProductID { get; set; }
public virtual Product Product { get; set; }
public virtual Product SimilarProduct { get; set; }
}
次に、以下を使用してコードでこれらにアクセスしようとします。
myDB.Products.Include("RelatedProducts").Where(x => x.ProductID == productID).FirstOrDefault();
しかし、私は次のエラーを受け取り続けます:
{"Invalid column name 'ProductProductID2'.\r\nInvalid column name 'ProductProductID2'.\r\nInvalid column name 'ProductProductID'.\r\nInvalid column name 'ProductProductID1'.\r\nInvalid column name 'ProductProductID2'."}
私は何が間違っているのですか?基本的に、商品を入手してから、RelatedProductsを繰り返し処理し、その商品情報を表示したいと思います。