5

Oracleデータベースでは、EntityFrameworkデータベースを最初に使用しています。

どういうわけNumber(5)Int16-short

最大Number(5)値は99999
です。 最大Int16値は32767です。

問題...マッパーに変換するように指示する方法はありNumber(5)ますint32か?

4

3 に答える 3

5

それを解決し、これをweb.configに追加しました:

<oracle.dataaccess.client>
<settings>
<add name="int16" value="edmmapping number(4,0)" />
<add name="int32" value="edmmapping number(9,0)" />
</settings>
</oracle.dataaccess.client>

ファイルを使用してモデルを再作成し、*.edmx...

Number(5)Int32の代わりでInt16 あり、Number(10)Int64代わりですInt32

私はそれが将来誰か他の人を助けることを願っています...

于 2012-09-10T09:32:06.070 に答える
1

OracleとEntityFrameworkを使用すると、生成後にedmxファイルに適用する必要のある変更のシートが常に作成されます。

列のdataTypeを変更する以外に、edmxファイルの行の型を手動で編集することをお勧めします。これは、再生成するたびに行う必要があることを覚えておいてください。

于 2012-09-09T14:49:48.840 に答える
1

については、私はこの作業を試してみて、トップ投稿コメントの質問Oracle.ManagedDataAccess.Clientに気づきました:

<oracle.manageddataaccess.client>
    <version number="*"> 
      <edmMappings>
        <edmNumberMapping>
          <add NETType="int16" MinPrecision="2" MaxPrecision="4" DBType="Number" />
          <add NETType="int32" MinPrecision="5" MaxPrecision="9" DBType="Number" />
          <add NETType="int64" MinPrecision="10" MaxPrecision="19" DBType="Number" />
          <add NETType="bool" MinPrecision="1" MaxPrecision="1" DBType="Number" />
        </edmNumberMapping>
      </edmMappings>
    </version>
  </oracle.manageddataaccess.client>

`

于 2019-10-28T06:23:09.967 に答える