EF 连接Oracle时(使用Oracle数据访问组件(ODAC)),在ModelFirst中从模型生成数据库时生成的DDL语句中创建表和字段都带双引号,知道这个怎么解决吗?
这个有问题吗?就像生成的sql 语句中,字段和表都带中括号一样。这个是为了避免你的表名或者字段名和数据库的保留关键字冲突。比如你有一个字段名叫做Date,而Date在sql server中是一个保留字,表示一个数据类型,所以你要创建这样的字段,就必须用[Date]。如果将这个去掉,就可能会导致语句错误。
导致你在用PL/SQL 链接Oracle时,比如你使用select * from “table” 带引号! 这样方便吗?
@平民总有崛起的时候: 这个带引号,又不需要你自己写,EF自动帮你生成的,有什么不方便的?
@平民总有崛起的时候: Oracle创建表的一条规则为: 在命名表的时候可以使用大写或小写字母。只要表名或字段名没有用双引号括住,Oracle 对大小写就不敏感。
所以说白了这本身就是Oracle规则的问题。
创建表和字段时全部使用大写字母,实际上在对Oracle操作时需要带引号是因为PL/SQL的问题