我使用流畅的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模型和odata IEdmModels定义列,键等,实际上,我描述了一组数据库列。我做错什么了吗?