Нужна ваша помощь в настройке EF с повторением того же типа, либо с аннотацией данных, либо с Fluent API
public class Order
{
[Key]
public long Id {get; set;}
public virtual long BillingAddressId { get; set;}
public virtual Address BillingAddress { get; set;}
public virtual long ShippingAddressId { get; set;}
public virtual Address ShippingAddress { get; set;}
public virtual ICollection<LineItem> LineItems { get; set; }
public virtual ICollection<ShippingLine> ShippingLines { get; set; }
}
public class Customer
{
[Key]
public long CustomerId { get; set;}
public virtual Address Address { get; set;}
}
Попробовал следующее, но получаю эту ошибку: Невозможно определить составной первичный ключ для типа «Клиент» . Используйте ColumnAttribute (см. http://go.microsoft.com/fwlink/?LinkId=386388) или метод HasKey (см. http://go.microsoft.com/fwlink/?LinkId=386387) , чтобы указать порядок для составногопервичные ключи.
пожалуйста, просмотрите и посоветуйте и другие конфигурации, а не только для клиента
modelBuilder.Entity<Order> ( )
.HasRequired ( cr => cr.BillingAddress )
.WithMany ( )
.HasForeignKey ( cr => cr.BillingAddressId )
.WillCascadeOnDelete ( true );
modelBuilder.Entity<Order>()
.HasRequired(cr => cr.ShippingAddress)
.WithMany()
.HasForeignKey(cr => cr.ShippingAddressId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<LineItem>()
.HasRequired(l => l.Order)
.WithMany(cr => cr.LineItems)
.HasForeignKey(l => l.OrderId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<ShippingLine>()
.HasRequired(c => c.Order)
.WithMany(l => l.ShippingLines)
.HasForeignKey(l => l.OrderId).WillCascadeOnDelete(false);
modelBuilder.Entity<Customer>()
.HasOptional(c => c.Address)
.WithRequired(cr => cr.Customer);