Я использую свободный API для определения моделей EF следующим образом:
modelBuilder.Entity<Customer>()
.ToTable("CUSTOMER").HasKey(i => i.Id);
modelBuilder.Entity<Customer>()
.Property(i => i.Id).HasColumnName("CST_ID");
...
modelBuilder.Entity<Order>()
.ToTable("ORDER").HasKey(i => i.Id);
modelBuilder.Entity<Order>()
.Property(i => i.Id).HasColumnName("ORD_ID");
...
modelBuilder.Entity<Order>()
.HasOne(i => i.Customer)
.WithOne(i => i.Order)
.HasForeignKey<Order>(i => i.CustomerId)
Затем я использую построитель моделей по соглашению для своих моделей OData, например,
var customer = builder.EntityType<Customer>();
customer.HasKey(c => c.CustomerId);
customer.HasOptional(c => c.Orders);
var order = builder.EntityType<Order>();
order.HasKey(o => o.OrderId);
Разве это недублирование?Я должен определить столбцы, ключи и т. Д. Как для моделей EF, так и для данных IEdmModels, и фактически я описываю один набор столбцов БД.Я сделал что-то не так?