Estoy utilizando la última versión de Entity Framework (4.2) e intento implementar interfaces para mis Entidades y por alguna razón, no está compilando. está arrojando un error "Cannot convert expression type ICollection<IOrder> to return type ICollection<Order>
". si no uso interfaces para las entidades, entonces no obtengo este error.error al usar interfaces para entidades de Entity Framework (4.2)
Tengo un proyecto separado para interfaces (para repositorios y servicios, etc.) y necesito pasar las entidades EF en esos métodos como parámetros y no quiero pasar las entidades reales en ellas, porque eso requerirá el proyecto de interfaz para tener una dependencia en las entidades EF.
mi objetivo es algo similar a la mencionada en este post Can I abstract Entity Framework away from my Entities?
aquí está la muestra. Acabo de poner una muestra aquí, mis entidades reales son diferentes, pero el problema es el mismo.
public interface IOrder
{
int OrderId { get; set; }
int CustomerId { get; set; }
ICustomer Customer { get; set; }
}
public class Order : IOrder
{
public int OrderId { get; set; }
public int CustomerId { get; set; }
ICustomer Customer { get; set; }
}
public interface ICustomer
{
int CustomerId { get; set; }
ICollection<IOrder> Orders { get; set; }
}
public class Customer : ICustomer
{
public int CustomerId { get; set; }
ICollection<IOrder> Orders { get; set; }
}
public class OrderMap : EntityTypeConfiguration<Order>
{
this.HasOptional(t => t.Customer)
.WithMany(t => t.Orders) //error comes from this line
.HasForeignKey(d => d.CustomerId);
}
posible solución al http://stackoverflow.com/questions/9805329/how-to-use-interface-properties-with-codefirst/10994290 # 10994290 – Cel