我正在使用EF Code First with MVC,涉及到it技术,并且有点困惑。我有以下数据库结构(很抱歉,我不能发布图片):
表 - 产品 表 - 相关产品
在Products.ProductID上的1对多关系-> RelatedProducts.ProductID 在Products.ProductID上的1对多关系-> RelatedProducts.RelatedProductID
基本上,我有一个产品,它可以有一系列与之相关的产品。这些产品存储在RelatedProducts表中,关系由ProductID和相关产品的ProductID定义,我将其命名为RelatedProductID。在我的代码中,我已经生成了以下类:
但是我一直收到以下错误提示:
我做错了什么?我想获取一个产品,然后迭代相关产品并显示该产品的信息。
表 - 产品 表 - 相关产品
在Products.ProductID上的1对多关系-> RelatedProducts.ProductID 在Products.ProductID上的1对多关系-> RelatedProducts.RelatedProductID
基本上,我有一个产品,它可以有一系列与之相关的产品。这些产品存储在RelatedProducts表中,关系由ProductID和相关产品的ProductID定义,我将其命名为RelatedProductID。在我的代码中,我已经生成了以下类:
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'."}
我做错了什么?我想获取一个产品,然后迭代相关产品并显示该产品的信息。