是否可以将Microsoft Entity Framework与Oracle数据库一起使用?
我目前正在使用Oracle(System.Data.OracleClient)的Microsoft ADO.NET提供程序.我知道它肯定不是最好的Oracle提供商,它很快就会被弃用,我应该使用Oracle的ODP.NET.我仍然使用MS提供程序的原因是因为ODP.NET按位置绑定参数,而不是按名称绑定.当您在查询中使用许多参数时,这实际上可能是PITA,因为您必须小心以正确的顺序添加它们,这很容易导致错误.在同一查询中多次使用相同参数时也很烦人,例如:
SELECT A,B,C FROM FOO WHERE X = :PARAM_X OR :PARAM_X = 0
使用ODP.NET,我必须添加两个参数OracleCommand,我认为这是愚蠢的......
ODP.NET OracleCommand有一个属性来改变默认行为:BindByName.设置为true时,参数按名称绑定,这就是我想要的.不幸的是,这对我没有帮助,因为:
DbProviderFactory,DbConnection,DbCommand...),以减少连接到任何特定的RDBMS.所以我没有访问该BindByName属性,除非我明确地转换OracleCommand,失去所有的好处或抽象.BindByName为true(我可以在Selecting事件中做到这一点,但是对于每个事件来说真的很难SqlDataSource的...)我该如何处理这个问题?BindByNameByDefault某处有设置吗?(我没有找到类似的东西,但我可能错过了......)
我今天刚刚阅读了这篇文章,关于Microsoft如何决定System.Data.OrcaleClient从.NET 4.0库中删除命名空间.
我使用它作为我使用Oracle数据库的主要工具.
当我决定将我的应用程序从.NET 2.0升级到.NET 4.0时,在.NET 4.0框架中使用Oracle数据库会有哪些替代选项?
我们有一个与ClickOnce一起部署的sqlserver(WinForms)应用程序,它直接与数据库通信.如果我们被迫将它移植到oracle,ODP.NET可以与ClickOnce一起使用.
(用户可能没有PC上的管理员权限)
背景
此数据导入应用程序由每个客户站点上的少数用户使用,它使用集成登录连接到SQL Server.大多数用户访问系统var一个Asp.net应用程序,或一个与Web服务对话的WinForms(clickOnce)应用程序.
另请参阅" 如何编写适用于SqlServer和Oracle的.Net应用程序 "