EF Code First mit viele, zu viele sich selbst verweisenden Beziehung

Bin ich angefangen mit mit dem EF Code First mit MVC und bin ein bisschen ratlos mit etwas. Ich habe folgende db-Struktur (Sorry, aber ich war nicht erlaubt, nach einem Bild, leider):

Tabelle - Produkte

Tisch - RelatedProducts

1-auf Viele Produkte.ProductID -> RelatedProducts.ProductID

1-auf Viele Produkte.ProductID -> RelatedProducts.RelatedProductID

Grundsätzlich habe ich ein Produkt, das kann eine Reihe von Produkten, die damit zusammenhängen. Diese sind gehalten, die in den RelatedProducts Tabelle mit der Beziehung, definiert durch die ProductID und die ProductID des zugehörigen Produktes, die ich genannt habe RelatedProductID. In meinem code, den ich produziert hat den folgenden Klassen:

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; }
}

Ich versuche dann den Zugriff auf diese im code über:

myDB.Products.Include("RelatedProducts").Where(x => x.ProductID == productID).FirstOrDefault();

Aber ich bekomme immer folgenden Fehler:

{"Invalid column name 'ProductProductID2'.\r\nInvalid column name 'ProductProductID2'.\r\nInvalid column name 'ProductProductID'.\r\nInvalid column name 'ProductProductID1'.\r\nInvalid column name 'ProductProductID2'."}

Was mache ich falsch? Ich wollen im Grunde, um ein Produkt dann Durchlaufen Sie die RelatedProducts und-Anzeige, Produkt-info.

InformationsquelleAutor knappster | 2011-03-11
Schreibe einen Kommentar