相同的表名不同的架构

我在我的数据库中有以下表格,所有表格都有相同的表格名称,但有不同的模式。

  • dbo.Versions
  • bpm.Versions
  • wf.Version
  • ...
  • 所有x.Versions都有一个FK到版本表。

    我已经创建了POCO类(这给了我像Version,Version1,...的类 - - 我已经将classNames重命名为Version和BPMVersion,但映射仍然存在于右表中。

    这是我映射到bpm.Versions的BPMVersion映射的一个示例

    // 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”和“版本”无法共享表“版本”,因为它们不在同一类型层次结构中,或者没有有效的一对一外键与它们之间的匹配主键的关系。

    我在互联网上发现了以下博客,它接受了EF对具有相同名称但具有不同架构的表格的问题(https://entityframework.codeplex.com/workitem/1641和http://geekswithblogs.net/tonyt/) archive / 2013/07/02 / 153327.aspx)

    无论如何避免这个问题没有重命名表名称?


    这与EF映射表名称的方式有关。 看起来这是EF中的一个错误。 从EF 6.1开始,它仍处于建议状态,并且处于低优先级。

    查看详情:http://entityframework.codeplex.com/workitem/1641

    更新 :上述EF WorkItem 1641已在版本6.1.2中修复

    链接地址: http://www.djcxy.com/p/79273.html

    上一篇: Same table name different schema

    下一篇: Using Bower with Play