项目用的DB是ORACLE,通过DBFirst模式建EDMX。
这样有个问题,如果我在DB的某一张表里添加一个新字段,然后我在Entity里从“数据库更新到模型” 。这样的一个更新动作需要耗时很久。
如果手动去添加这样标量属性,但ORALCE的类型和EDMX里的对应的类型是有区别的,
有谁有解决方案或者提供个对应类型的关系资料?
关注一下,好像EF更新特别多的表的数据库就会特别卡,我们那时项目也没解决这个问题,表+视图+存储过程有600多张。更新一个字段或者一张表要卡5分钟。。
我想的初步解决方案:
手动去加实体标量属性(在DB中就是字段),因为EDMX的实体表的属性类型跟DB表中的字段类型有差别。比如MSSQL里的INT ,好像到了EDMX中就是NUMBER等。如果这一点不是特别了解可以去参照从DB中更新过来的实体里面的属性类型。对照一下,进行手动添加。
最后手动转换T4模板。(一般情况下不会有问题,并且更新时间分分钟的事儿)
注:如果DB超多表,字段也多,表结构复杂并且有多关联、约束,可能会有MAPPING错误或实体键的错误报告。