エンティティ フレームワークと SQL データベースに問題があります。だから私の問題はこれです:私のデータベースには同じプロパティを持つ2つのテーブルがあり、それらはタイプと長さが同じですが、まったく関係がありません。外部キーは一切ありません。データベースエンティティフレームワークとのやり取りを開始するとすぐに、有名なエラーが吐き出されます。
エラー 0019: 型の各プロパティ名は一意である必要があります。プロパティ名は既に定義されています。
ちなみに、コードファーストアプローチを使用しています。
これは、テーブルのクラス表現の 1 つです。
[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"); });
}
}
これを回避する方法について何か考えはありますか?もう一つ。データベースは決して変更しないでください。私はそれを変更することはできません。
助けていただければ幸いです。前もって感謝します