Код EF Сначала со связью многие ко многим самореференции

Я начинаю с использования EF Code First с MVC и немного озадачен. У меня следующая структура базы данных (извините, но, к сожалению, мне не разрешили опубликовать изображение):

Таблица - Продукты

Я начинаю с использования EF Code First с MVC и немного озадачен. У меня следующая структура базы данных (извините, но, к сожалению, мне не разрешили опубликовать изображение):

Таблица - Продукты

Я начинаю с использования EF Code First с MVC и немного озадачен. У меня следующая структура базы данных (извините, но, к сожалению, мне не разрешили опубликовать изображение):

Таблица - Продукты
Таблица - RelatedProducts

1-Many на Products.ProductID -> RelatedProducts.ProductID
1-Многие на Products.ProductID -> 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'."}

Что я делаю не так? Я в основном хочу получить продукт, а затем перебирать связанные продукты и отображать информацию о продукте.

9
задан gsk 10 February 2014 в 12:32
поделиться