Sto usando l'ultima versione di Entity Framework (4.2) e sto provando ad implementare interfacce per le mie Entità e per qualche motivo, non si sta compilando. sta generando un errore "Cannot convert expression type ICollection<IOrder> to return type ICollection<Order>
". se non utilizzo le interfacce per le entità, allora non ottengo questo errore.errore quando si usano le interfacce per entità Entity Framework (4.2)
Ho un progetto separato per interfacce (per repository e servizi ecc.) E ho bisogno di passare le entità EF in questi metodi come parametri e non voglio passare le entità effettive in esse, perché ciò richiederà il progetto di interfaccia per avere una dipendenza dalle entità EF.
il mio obiettivo è in qualche modo simile a quello di cui in questo post Can I abstract Entity Framework away from my Entities?
qui è il campione. Ho appena messo un campione qui, le mie entità reali sono diverse, ma il problema è lo stesso.
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);
}
possibile soluzione al http://stackoverflow.com/questions/9805329/how-to-use-interface-properties-with-codefirst/10994290 # 10994290 – Cel