먼저 엔티티 프레임 워크 코드를 MySQL 용 dotConnect와 함께 사용하고 있으며 어떤 이유로 인해 모델 매핑 중 하나에 대한 오류가 발생합니다.개념 유형의 구성원 수가 일치하지 않습니다.
이 오류를 검색했으며 대개 나쁜 xml 파일 또는 엔터티 프레임 워크 특정 파일 때문에 발생합니다. 나는 이들 중 하나만 사용하고 있으며 모델과 함께 .cs 코드 파일 만 사용합니다.
예외 정보 :
System.Data.MappingException : 개념 유형 'SiteModels.TournamentTable'의 회원 수는 물체 측 유형 'SiteModels에 회원의 수와 일치하지 않습니다. 토너먼트 테이블 '. 을 회원 수가 동일하게 만드십시오.
디자이너가 없기 때문에이 오류가 발생하는 이유는 알 수 없습니다. 코드가 들어있는 파일이 하나뿐입니다.
public class TournamentTable
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public List<TournamentColumn> Columns { get; set; }
public TournamentTable()
{
Columns = new List<TournamentColumn>();
}
public void AddColumn(int index, TournamentColumn column)
{
Columns.Insert(index, column);
}
public void RemoveColumn(int index)
{
Columns.RemoveAt(index);
}
/// <summary>
/// Add a tournament cell at the top of the column.
/// </summary>
/// <param name="column"></param>
public void AddColumn(TournamentColumn column)
{
Columns.Add(column);
}
/// <summary>
/// Returns the tournament column at the index specified.
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
public TournamentColumn this[int index]
{
get { return Columns[index]; }
}
/// <summary>
/// Returns the tournament cell at the index specified.
/// </summary>
/// <param name="columnIndex"></param>
/// <param name="cellIndex"></param>
/// <returns></returns>
public TournamentCell this[int columnIndex, int cellIndex]
{
get { return Columns[columnIndex][cellIndex]; }
set
{
Columns[columnIndex][cellIndex] = value;
}
}
}
이컨텍스트 구성 : 도움을
public class EntitiesContext : DbContext
{
public EntitiesContext()
: base()
{
System.Data.Entity.Database.SetInitializer<EntitiesContext>(new DropCreateDatabaseIfModelChanges<EntitiesContext>());
}
public EntitiesContext(DbConnection connection)
: base(connection, true)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions
.Remove<System.Data.Entity.ModelConfiguration.Conventions
.ColumnTypeCasingConvention>();
}
public DbSet<User> Users { get; set; }
public DbSet<Player> Players { get; set; }
public DbSet<Game> Games { get; set; }
public DbSet<TournamentTable> TournamentTables { get; set; }
가}
덕분에, 내가 어떤이 없어 여기에
문제가있는 클래스입니다 실마리.
인덱서를 주석 처리하고 도움이되는지 확인해보십시오. 그렇지 않으면 NotMapped 특성을 메서드에 넣거나 다시 구현해야 할 수 있습니다. – Pawel
NotMapped 속성이 트릭을 수행했습니다. 고마워요! –