最初にエンティティ モデルを使用してシステムを Oracle に接続する必要があります。エンティティ「Entity1」を持つモデルがあります。「MyBool」は、その名の通りブール型のプロパティです。
モデルからSQLスクリプトを正常に生成し、Oracleデータベースで実行しました。
それから私はこのコードを持っています:
static void Main(string[] args)
{
Model1Container context = new Model1Container();
Entity1 entity = context.Entity1.FirstOrDefault();
}
このコードは、次の例外をスローします。
指定されたスキーマは無効です。エラー: Model1.msl(8,12): エラー 2019: 指定されたメンバー マッピングが無効です。タイプ「Model1.Entity1」のメンバー「MyBool」のタイプ「Edm.Boolean[Nullable=False,DefaultValue=]」は、「OracleEFProvider.number[Nullable=False,DefaultValue=,Precision=1,Scale=0」と互換性がありません]' タイプ 'Model1.Store.Entity1' のメンバー 'MyBool' の。
私は多くのスレッドを読みましたが、多くの人が追加するように言っています:
<oracle.dataaccess.client>
<settings>
<add name="bool" value="edmmapping number(1,0)" />
</settings>
</oracle.dataaccess.client>
構成ファイル(私の場合はコンソールアプリで、次にapp.config)。しかし、これは何も変わりませんでした。実際、このパラメーターに任意の値を設定でき、エラーはまったく同じになります。このパラメータが読み取られていないようです。
その後、何人かが言いました: Oracle.DataAccess DLL をプロジェクトに追加してください。私がしたこと、そして結果は同じでした。
このトピックに関する多くのスレッドがあることは知っていますが、どれも私を助けてくれました。他に何をすべきかわかりません。私の実際のアプリケーション モデルは、既に Sql Server で運用されています。