繁体   English   中英

实体框架4.1两个具有相同属性名称的表

[英]entity framework 4.1 two tables with the same property name

我在实体框架和SQL数据库方面遇到了一些问题。 所以我的问题是这样的:在我的数据库中有两个具有相同属性的表,它们在类型和长度上是相同的,但它们没有任何关联。 没有任何外键。 一旦我开始与数据库实体框架交互,就会吐出一个着名的错误:

错误0019:类型中的每个属性名称必须是唯一的。 属性名称已定义。

我顺便使用代码第一种方法。

这是表的类表示之一:

[Table("bo")]
public class TbPBO
{
   [Required(AllowEmptyStrings = false, ErrorMessage = "O campo de nome nao pode ser nulo")]
    [MaxLength(55, ErrorMessage = "O campo de nome nao pode ter mais que 55 caracteres")]
    [Column("nome", TypeName = "char", Order = 4)]
    public string TbBonome { get; set; }
 }

这是表的另一个类表示:

[Table("bi")]
public class TbPBi
{
    [Required(AllowEmptyStrings = false, ErrorMessage = "O campo nome nao pode ser nulo")]
    [MaxLength(55, ErrorMessage = "O campo nome nao pode ter mais que 55 caracteres")]
    [Column("nome", TypeName = "char", Order = 62)]
    public string TbBinome { get; set; }
}

我试过通过使用它来修改我的上下文,但没有任何运气。

public class PHCDbContext:DbContext
{
     public PHCDbContext(string connection):base(connection)
     {

        Database.SetInitializer<PHCDbContext>(null);
     }
     protected override void OnModelCreating(DbModelBuilder modelBuilder)
     {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<TbPBO>()
            .Map(mbo => { mbo.Properties(tnome => new { tnome.TbBonome }); mbo.ToTable("bo"); });

        modelBuilder.Entity<TbPBi>()
            .Map(mbo => { mbo.Properties(tnome => new { tnome.TbBinome }); mbo.ToTable("bi"); });

    }
}

关于如何解决这个问题的任何想法? 还有一件事。 不得以任何方式更改数据库。 我不能修改它。

帮助将不胜感激。 提前致谢

经过多次谷歌搜索和反复试验。 我发现了ef电动工具,安装它并让它对我的数据库进行逆向工程。 我让这个过程运行起来。 它映射了表格。 创建了类和上下文。 而我一直在测试的问题已经解决了。 谢谢您的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM