我在很多网站上,特别是在 oracle 论坛中读到,Oracle 不正式支持 Entity Framework Code First 或 DbContext API。
话虽如此,我还在很多地方读到人们使用 EF CodeFirst 和 Oracle 成功部署了项目。我遇到了很多问题,并且一直在调整代码以使其也可以与 SQL Server 一起使用。
一个似乎不起作用的函数是 DbSet.Find,您可以在其中将密钥作为参数传递并准确获取该记录。
使用 Find (如果我在同一个代码库上使用 sql server 效果很好)会引发异常并出现以下错误:
ORA-00942: table or view does not exist
我读了这个问题,他们提到了套管,这不是我的情况,所以对我来说没有解决办法。
奇怪的是 usingDbSet.SingleOrDefault(x => x.Id == SomeId)
工作得很好,所以我很确定模式、表名和列的大小写是好的。
有人在使用 DbContext 时成功使用 Find 吗?
请注意:我没有使用 EDMX,也无法使用它,我们必须继续使用 CodeFirst。
谢谢。