cevap

10

Bir

public class One 
{ 
    public int Id {get;set;} 
    public virtual Two RelationTwo {get;set;} 
} 

public class Two 
{ 
public int Id {get;set;} 
public virtual One RelationOne {get;set;} 
} 
Unutulmaması gereken

, bu sanal olmak zorunda

Bir Birçok

public class One 
{ 
    public int Id {get;set;} 
    public virtual ICollection<Two> RelationTwo {get;set;} 
} 

public class Two 
{ 
public int Id {get;set;} 
public virtual One RelationOne {get;set;} 
} 

Birçok etmek için One Birçok

public class One 
{ 
    public int Id {get;set;} 
    public virtual ICollection<Two> RelationTwo {get;set;} 
} 

public class Two 
{ 
public int Id {get;set;} 
public virtual ICollection<One> RelationOne {get;set;} 
} 

notu bu olur belki yararlı, click ve click

Umut ıcollection

takiben bağlantılar olması gerektiğini.

birçok birini içerecek şekilde Güncelleme DÜZENLEME

.

DÜZENLEME 2. Fatura < yapmak için bir potansiyele içerecek şekilde Güncelleme

- comment tarafından talep edildi> Ürün senaryo.

not: bu denenmemiş, ama bu daha sonra fatura üzerindeki tüm öğeler arasında yineleme kullanarak doğru yönde

public class Invoice 
{ 
    public int Id {get;set;} 
    //.. etc. other details on invoice, linking to shipping address etc. 

    public virtual ICollection<InvoiceProduct> Items {get;set;} 
} 

public class InvoiceProduct 
{ 
    public int Id {get;set;} 
    public int Quantity {get;set;} 
    public decimal Price {get;set;} // possibly calculated 
    //.. other details such as discounts maybe 

    public virtual Product Product {get;set;} 
    public virtual Invoice Order {get;set;} // maybe but not required 
} 

public class Product 
{ 
    public int Id {get;set;} 
    //.. other details about product 
} 

koymak ve sonra foreach fatura ayrıntılarını gerekir her bir öğenin yanı sıra ürünün kendisinden bir açıklama.

+2

Sanal olması gerektiğine inanmıyorum (ancak sanal yapmaları şiddetle tavsiye ediyorum). Sanal olarak işaretlenmemişlerse, ilişki hala var olacaktır, ancak EF tembel yükleme kullanmaz ve yalnızca karşılık gelen varlık oturuma yüklendiğinde ilişkinin diğer tarafını yükler. Ayrıca, birinden çoğuna, bunun nasıl yapılacağı, cevabınız tarafından çıkarılabilir, her iki tarafta da referanslara ihtiyaç duymaz, ancak uygulamanın ihtiyaçlarına bağlı olarak anlamlı olmayabilir. –

+1

İlgilendiğiniz başka bir bağlantıyı daha önce kodlamak için oldukça yararlı bir giriş olduğunu öğrendim: http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with -entity-framework-4.aspx – Manatherin

+0

Şimdiye kadar yanıt için teşekkürler. Bir şey daha. Faturanızın faturasının kalem satırında olması durumunda. Bu bir ilişki tablosu içerir. Bu senaryoya nasıl devam edersiniz? – Rushino