엔티티 프레임 워크와 SQL 데이터베이스에 몇 가지 문제가 있습니다. 내 문제는 이것입니다 : 내 데이터베이스에 같은 속성을 가진 두 테이블이 있습니다, 그들은 유형과 길이가 동일하지만 그들은 어떤 식 으로든 관련이 없습니다. 아무 외래 키도. 내가 그런데 코드 첫 번째 방법을 사용하고엔티티 프레임 워크 4.1 동일한 속성 이름을 가진 두 개의 테이블
error 0019: Each property name in a type must be unique. Property name was already defined.
: 는 최대한 빨리 데이터베이스 엔티티 프레임 워크와 상호 작용을 시작으로 유명한 오류를 뱉어.
이 테이블의 클래스 표현 중 하나입니다
[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"); });
}
}
이 문제를 해결하는 방법에 대한 의견이 있으십니까? 하나 더. 어떤 방식 으로든 데이터베이스를 변경하면 안됩니다. 나는 그것을 수정할 수 없다.
도움을 받으실 수 있습니다. 많은 인터넷 검색과 시행 착오 후 사전
에 대한 감사는 클래스'TbPBO' (또는'TbPBi')이 속성은'nome'이라고 있습니까? 열 이름'nome'에 매핑 된 다른 속성과 충돌합니다. 또한 : 어떤 데이터베이스 시스템을 사용하고 있습니까? SQL Server 또는 MySql 또는 ...? – Slauma
죄송합니다. 나는 SQL 서버 2008을 사용하고 있습니다. 두 클래스 모두 nome이라는 속성을 가지고 있습니다. 데이터베이스에있는 해당 테이블 bi 및 bo와 같습니다. 둘 다 nome라는 필드가 있습니다. 테이블 (b0)의 필드 (nome)에있는 데이터는 테이블 (bi)에서 동일하다. – jonniebigodes
하지만 클래스에 이미 'nome' 속성이 있으면'TbBonome' 속성을'nome' 열에 매핑하는 이유는 무엇입니까? – Slauma