属性有一个名为HasColumnName的流畅方法。 HasKey失踪了。在CTP4中,可以通过MapSingleType指定不同的列名,但如果我尝试使用Map(替换了MapSingleType),则它不起作用。有什么想法吗?
答案 0 :(得分:2)
这不起作用吗?
modelBuilder.Entity<Institutes.Institute>()
.HasKey(e => e.Id)
.ToTable("Institutes", "core");
modelBuilder.Entity<Institutes.Institute>().Property(e => e.Id)
.HasColumnName("InstituteID");
答案 1 :(得分:0)
似乎CTP5的API没有提供这种可能性。 我们成功的做法是让ModelBuilder使用错误的密钥构建其MetaDataWorkspace。
然后,在构建它之后,在objectContext中,我们在SSPace中搜索物理实体(表和列)的存储,然后通过反射更改了“错误”列名称的元数据名称。
我知道,这是正确的方法,但它是我发现的唯一方法。 我们为ObjectBuilder创建了一个扩展方法,它替换了这样的列名,因此键映射到正确的列。