¿Cómo se hacen algunas operaciones en las relaciones Entity Framework 4-Primera Código CTP 5?
-
12-10-2019 - |
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!
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 ??em>
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í.