我正在使用
在一个测试项目。基于以下EF原始的SQL命令执行上的Oracle 11g Express Edition的,但失败了(更具体地说,它挂在它似乎没有完全执行,但不抛出异常)在Oracle 12c的企业版。
[OneTimeTearDown]
public override void DeleteTestData(FooContext context)
{
var sql = "delete from FOO.BAR " +
"where TO_CHAR(REFERENCE) = 'TestStore'";
context.Database.ExecuteSqlCommand(sql);
}
当然我的原始的SQL无效。我究竟做错了什么?
我真的不知道为什么这个工作对我的本地11g快捷版的拷贝,而不是12C,但根据this website字REFERENCE
在PL / SQL中的保留字,不应该被用作标识符。在原始的SQL完全限定列名固定我的问题。
[OneTimeTearDown]
public override void DeleteTestData(FooContext context)
{
var sql = "delete from FOO.BAR " +
"where TO_CHAR(FOO.BAR.REFERENCE) = 'TestStore'";
context.Database.ExecuteSqlCommand(sql);
}