4

次のコードを実行しようとすると、InvalidOperationException "Sequence Contains No Matching Element" がスローされます。これは、データベースの初期設定にあります。

Global.migrationContext.SourceObjects.Add(sourceObject);

ソース オブジェクトは次のようになります。

DataMigrationMapping.SourceObject
  MigrationPasses   null                System.Collections.ObjectModel.ObservableCollection<DataMigrationMapping.MigrationPass>
  Name              "COMP_CASE"         string
  Notes             "Complaint Case"    string
  Schema            "Wacka"             string
  SourceElements    null                System.Collections.Generic.List<DataMigrationMapping.SourceElement>
  SourceObjectID    0                   int

私の dbContext は次のようになります。

public class MigrationContext : DbContext
{
    public DbSet<SourceObject> SourceObjects {get; set;} 
    public DbSet<SourceElement> SourceElements {get; set;}
    public DbSet<MigrationPass> MigrationPasses {get; set;}
    public DbSet<Entity> Entities {get; set;}

    public MigrationContext(string connectionString)
        : base(connectionString)
    {
    }

    public void Load()
    {
        SourceObjects.Load();
        SourceElements.Load();
        MigrationPasses.Load();
        Entities.Load();
    }
}

このプロパティを MigrationPass クラスに追加した後、エラーが表示されるようになりました。

public Entity TargetEntity { get; set; }

これにより、Entity クラスから流れるモデルに何か問題があると思います。おそらく、このクラスが抽象的であることと関係があります。エンティティ クラスは次のようになります。

public abstract class Entity
{
    public int EntityID { get; set; }
    public string Name { get; set; }
    public EntityType EntityType { get; set; }
    public string RefCode { get; set; }
    public Cardinality Cardinality { get; set; }

    protected ObservableCollection<Field> fields;
    [NotMapped]
    public ObservableCollection<Field> Fields
    {
        get { return fields; }
    }
    public void AddField(Field field)
    {
        fields.Add(field);
    }

    protected ObservableCollection<Entity> roles;
    [NotMapped]
    public ObservableCollection<Entity> Roles
    {
        get { return roles; }
    }
    public void AddRole(Entity role)
    {
        roles.Add(role);
    }

エラーの原因について何か考えはありますか?

4

0 に答える 0