EF CF:遗留数据库的复杂类型
我成功地映射了我的复杂类型,如下所示:
modelBuilder
.ComplexType<Name>()
.Property(name => name.First)
.HasColumnName("firstNameColumn");
modelBuilder
.ComplexType<Name>()
.Property(name => name.Last)
.HasColumnName("lastNameColumn");
到目前为止一切顺利。但请注意,我们没有指定任何实体类型。如果我们想为包含“firstN”和“lastN”列的表映射相同的复杂类型怎么办?我尝试过 EntityTypeConfiguration<>但不允许您在那里指定复杂类型。最后,看起来复杂类型是全局定义的。
I successfully mapped my complex type like this:
modelBuilder
.ComplexType<Name>()
.Property(name => name.First)
.HasColumnName("firstNameColumn");
modelBuilder
.ComplexType<Name>()
.Property(name => name.Last)
.HasColumnName("lastNameColumn");
So far so good. But notice that we do not specify any entity type. What if we want to map the same complext type also for a table with columns "firstN" and "lastN"? I tried EntityTypeConfiguration<> but you are not allowed to specify complex types there. Finally it looks like that complexTypes are defined globally.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您还可以在实体级别自定义复杂类型列名称,如下所示:
生成的架构将为:
此处 你可以找到另一个例子。
You can also customize the complex type columns names at the entity level, like the following:
And the resultant schema will be:
Here you can find another example.