我有一个数据库,里面有以下几张表,它们的表名相同但模式不同。
我已经从中创建了POCO类(这给我带来了像Version、Version1等类的名称——我将类名重命名为Version和BPMVersion等,但映射仍然存在于正确的表中。
这是我对BPMVersion进行的映射示例,它映射到bpm.Versions。
在创建迁移脚本时,我遇到了以下异常:实体类型“BPMVersion”和“Version”不能共享表“Versions”,因为它们不在同一类型层次结构中,或者它们之间没有匹配的主键以及有效的一对一外键关系。 我在互联网上找到了以下博客,似乎EF有一个问题,即具有相同名称但不同架构的表( https://entityframework.codeplex.com/workitem/1641 和 http://geekswithblogs.net/tonyt/archive/2013/07/02/153327.aspx )
有没有办法避免重命名表名而避免这个问题?
- dbo.Versions
- bpm.Versions
- wf.Version
- ...
我已经从中创建了POCO类(这给我带来了像Version、Version1等类的名称——我将类名重命名为Version和BPMVersion等,但映射仍然存在于正确的表中。
这是我对BPMVersion进行的映射示例,它映射到bpm.Versions。
// Primary Key
this.HasKey(t => t.Id);
// Properties
// Table & Column Mappings
this.ToTable("Version", "bpm");
this.Property(t => t.Id).HasColumnName("Id");
this.Property(t => t.VersionId).HasColumnName("VersionId");
this.Property(t => t.BPMId).HasColumnName("BPMId");
// Relationships
this.HasRequired(t => t.BPM)
.WithMany(t => t.BPMVersions)
.HasForeignKey(d => d.BPMId);
this.HasRequired(t => t.Version)
.WithMany(t => t.BPMVersions)
.HasForeignKey(d => d.VersionId);
在创建迁移脚本时,我遇到了以下异常:实体类型“BPMVersion”和“Version”不能共享表“Versions”,因为它们不在同一类型层次结构中,或者它们之间没有匹配的主键以及有效的一对一外键关系。 我在互联网上找到了以下博客,似乎EF有一个问题,即具有相同名称但不同架构的表( https://entityframework.codeplex.com/workitem/1641 和 http://geekswithblogs.net/tonyt/archive/2013/07/02/153327.aspx )
有没有办法避免重命名表名而避免这个问题?