jon*_*des 5 c# entity-framework wcf-data-services ef-code-first
我在实体框架和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; }
}
Run Code Online (Sandbox Code Playgroud)
这是表的另一个类表示:
[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; }
}
Run Code Online (Sandbox Code Playgroud)
我试过通过使用它来修改我的上下文,但没有任何运气.
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"); });
}
}
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?还有一件事.不得以任何方式更改数据库.我不能修改它.
帮助将不胜感激.提前致谢
经过大量谷歌搜索和反复试验。我发现了 ef 电动工具,安装了它并让它对我的数据库进行逆向工程。我让进程运行。它映射了表格。创建了类和上下文。对于我一直在测试的问题已经解决。谢谢您的帮助
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |