Question

Je voudrais avoir un court exemple sur la façon dont vous effectuez réellement des relations dans Entity Framework 4 Code-première CTP 5?

AIMERAIT un exemple pour ce genre de relations:

* one-to-many
* many-to-many

Merci beaucoup!

Était-ce utile?

La solution

One to One

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

choses à noter, il doit être virtuel

un à plusieurs

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

many to many

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

Notez qu'il doit être ICollection

Suivi des liens peut-être utile, cliquez cliquez sur

Hope this helps.

EDIT

Mise à jour pour inclure un à plusieurs.

EDIT # 2

Mise à jour pour inclure un potentiel pour faire de la facture <->. Scénario de produit qui a été demandé par commentaire

Note: Ceci est non testé, mais devrait vous mettre dans la bonne direction

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
}

Avec ceci, on pourrait alors itérer à travers tous les éléments sur la facture puis foreach être en mesure de montrer les détails de la facture sur chaque élément, ainsi qu'une description du produit lui-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top