Oracle DBFirst Bug 返回

C#论坛 老数据
2 3007

在OracleDbMaintenance.cs 文件中第192行

    string sql = "select * from " + tableName + " WHERE 1=2 ";

建议修改成

string sql = string.Format("SELECT * FROM \"{0}\" WHERE 1=2", tableName);

否者会报错:"ORA-00942: 表或视图不存在",无法生成实体

版本:4.6.4.9

热忱回答2

  • 表名请大写。 PLSQL规范

    0 回复
  • @fate stay night:恩,按照规范来是挺重要的,但是由于历史原因造成的命名不规范(直接从MSSQL转换到Oracle),要去改动数据库就太痛苦了,个人觉得在读取表名和字段的时候,还是不要强迫转换的好,由用户自己遵守命名规范会比较方便,ef就没做这方面的强制。不过还是谢谢作者的开源,可以自己进行修改。

    0 回复