Я начинаю с использования EF Code First с MVC и немного озадачен чем-то. У меня есть следующая структура БД (извините, но мне не удалось опубликовать изображение, к сожалению):
Таблица - Продукция
Таблица - Сопутствующие товары
1-Много на Products.ProductID -> Связанные продукты.ProductID
1-Много на Products.ProductID -> Связанные продукты.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'."}
Что я делаю не так? Я в основном хочу получить продукт, затем пройтись по всем связанным продуктам и отобразить информацию о продукте.