Ben varlık çerçevesi ve bir sql veritabanı ile bazı sorunlar yaşıyorum. bu yüzden benim sorunum: benim veritabanımda aynı özelliği olan iki tablo vardır, bunlar tür ve uzunluk bakımından aynıdır ancak hiçbir şekilde ilişkili değildir. yabancı anahtar yok. i bu arada kod birinci yaklaşımı kullanıyorumvarlık çerçevesi 4.1 aynı özellik adıyla iki tablo
error 0019: Each property name in a type must be unique. Property name was already defined.
: kısa sürede i veritabanı varlık çerçevesi ile etkileşim başlamak gibi ünlü hatayı tükürür.
bu tabloların sınıf tasvirlerinden biridir:
[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; }
}
Bu tablonun diğer sınıf temsilidir:
[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; }
}
ben bu kullanarak benim bağlamı değiştirerek denedim ama şanssız
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"); });
}
}
Bu konuyla ilgili herhangi bir fikrin var mı? bir şey daha. veritabanı hiçbir şekilde değiştirilmemelidir. onu değiştiremem.
yardımı memnuniyetle karşılanacaktır.
'TbPBO' (veya' TbPBi') sınıfı nome' adlı bir özelliğe sahip mi? 'Nome' sütun adına eşlenen diğer özelliklerle çakışır. Ayrıca: Hangi veritabanı sistemini kullanıyorsunuz? SQL Server veya MySql veya ...? – Slauma
Bunun için üzgünüz. sql server 2008 kullanıyorum ve her iki sınıf da nome adında bir özelliğe sahip. Veritabanındaki ilgili tablolar bi ve bo üzerinde olduğu gibi. her ikisinin de nome adlı bir alanı var. ve tablo n'deki alan nomundaki veriler, tablo biindeki aynıdır. – jonniebigodes
Ancak, sınıfınız zaten bir 'nome' özelliğine sahip olduğunda niçin 'TbBonome' özelliğini 'nome' sütunuyla eşleştiriyorsunuz? OnModelCreating üzerinde yazan – Slauma