实体框架生成short而不是int

时间:2012-09-09 14:25:59

标签: c# .net oracle entity-framework ef-database-first

我们正在为我们的Oracle数据库使用Entity Framework数据库。

出于某种原因,Number(5)变为Int16 - short

最大Number(5) 99999
最高Int16 32767

问题...有没有办法指导映射器将Number(5)翻译为int32

2 个答案:

答案 0 :(得分:1)

对我来说,带有EntityFramework的Oracle总是导致我必须在生成后对我的edmx文件应用一些更改。

除了更改列的dataType之外,我建议手动编辑edmx文件中的行类型,并记住这是每次重新生成时都必须执行的操作

答案 1 :(得分:0)

对于Oracle.ManagedDataAccess.Client,我尝试这项工作,并注意到顶部帖子评论中的question

<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>

`