Pregunta

Me gustaría tener un pequeño ejemplo de cómo se hacen algunas operaciones en las relaciones Entity Framework 4-Primera Código CTP 5?

Me encantaría un ejemplo de este tipo de relaciones:

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

Gracias un montón!

¿Fue útil?

Solución

Uno a Uno

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

A tener en cuenta, tiene que ser virtual

Uno a muchos

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

muchos a muchos

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

Tenga en cuenta que tiene que ser ICollection

A raíz de enlaces quizá útil, clic clic

Espero que esto ayude.

Editar

Se ha actualizado para incluir de uno a muchos.

editar # 2

Se ha actualizado para incluir un potencial para hacer la factura <->. Escenario del producto que fue solicitado por el comentario

nota: esto no se ha probado, pero se debe poner en la dirección correcta

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
}

El uso de este entonces podría iterar a través de todos los elementos de la factura y luego foreach será capaz de mostrar los detalles de la factura sobre cada elemento, así como una descripción del producto en sí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top