エフォートフレームワークがエンティティモデルのスキーマを認識しない

c# effort entity-framework-5 sybase-ase unit-testing

質問

私はSybase ASEデータベースのエンティティモデルを持っていますが、私はEffort Frameworkを使用して単体テストを作成しようとしています。私はメインプロジェクトと単体テストプロジェクトの両方でエンティティモデルを使ってデータベースにアクセスできますが、メモリ内のデータベースを作成するときにEffortを使用しようとすると例外が発生します。

ユニットテストプロジェクトの問題コード

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

例外の詳細:(System.Data.MetadataException)

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

スタックトレース

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

Entityが作成した.csdlファイルと.ssdlファイルを調べたところ、問題の原因となったフィールドが見つかったと思います。

SSDL

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

CSDL

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

私はSSDLフィールドからPrecision属性を削除しようとしましたが、それでも同じエラーが発生しました。 (たとえそれが機能したとしても、モデルが再生成されたときに変更が残っていない可能性があります)

例外を引き起こしているものについて誰でも考え、どのように解決するべきか?

人気のある回答

MySQLサーバーを5.6以上にアップグレードしていない場合は、これを追加して、日付、日時、時刻をすべて更新します。オプション付きの0〜6()




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ