如何解决使用 Entity Framework 6 和不相同的列名进行实体拆分
大家好,我希望你们中的一个可以帮助我。我在 EF6 中遇到实体拆分的大问题。
以下场景。 我必须像屏幕截图中显示的那样表格。
表 UNTERSTATIONEN 中的列 FUNKTIONSGRUPPEN_ID 引用表 FUNKTIONSGRUPPEN 中的列 ID。
现在我想将两个表中的一些属性合并到我的 EF 模型中的一个实体中。 为此,我正在使用此代码。
public class UNTERSTATIONEN
{
public long? ID { get; set; }
public string ZUSATZ_WERT1 { get; set; }
public string FUNKTIONGSGRUPPEN_ZUSATZWERT { get; set; }
public long? FUNKTIONGSGRUPPEN_ID { get; set; }
}
在 OnModelCreating 函数中,我有这个代码。
modelBuilder.Entity<UNTERSTATIONEN>()
.Map(m =>
{
m.Properties(p =>
new
{
p.FUNKTIONSGRUPPEN_ID,p.ZUSATZ_WERT1,p.ID
});
m.ToTable(UNTERSTATIONEN);
})
.Map(m =>
{
m.Property(t => t.FUNKTIONSGRUPPEN_ID).HasColumnName("ID");
m.Property(t => t.FUNKTIONGSGRUPPEN_ZUSATZWERT1).HasColumnName("ZUSATZ_WERT1");
m.Properties(e =>
new
{
e.FUNKTIONSGRUPPEN_ID,e.FUNKTIONGSGRUPPEN_ZUSATZWERT1
});
m.ToTable("FUNKTIONSGRUPPEN");
});
像这样加载实体
using (var dbCtx = new DBContext())
{
var completeList = dbCtx.UNTERSTATIONEN.ToList();
}
导致以下错误消息:
System.InvalidOperationException: 'The entity types 'UNTERSTATIONEN' and 'FUNKTIONSGRUPPEN' cannot share table 'FUNKTIONSGRUPPEN' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them.'
我查看了很多关于 stackoverflow 的博客和问题,但都没有遇到我的问题,即用于映射的列名称不同,并且一列不是表的主键。
那么怎么做才能让它发挥作用?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。