Visual Studio Lightswitch 可以连接到 oracle 数据库吗?
-
26-09-2019 - |
题
所有的演示 Visual Studio 灯光开关 使用 SQL-Server,可以使用 Visual Studio Lightswitch 访问 Oracle 中的数据吗?
解决方案
Visual Studio Lightswitch 可以通过实体框架持久保存到 Oracle 数据库。
Oracle 数据提供商 (ODP.Net)
Oracle 的 ODAC 工具包含与 Visual Studio 应用程序一起使用的 Oracle Data Provider (ODP.Net)。Oracle 的最新驱动程序支持 Entity Framework 4.1 和“模型优先”方法。
编辑:我不确定它是否支持“Code-First”或 EF 4.2,因此请检查文档。也就是说, 它是免费的,并由 Oracle 支持,因此我强烈建议您在自行部署之前从这里开始,或者使用开源提供商/驱动程序.
笔记:“11.2.0.2 Release 4”会削减它,但“11.2.0.3”已经淘汰并且更稳定。
可以购买第三方驱动程序:
开源提供商
此外,还有一些可用的开源选项 - 我在 Github 上找到了一个:
其他提示
是的,如果你能得到的实体框架第三部分供应商。我实际上是在VSLive这个星期问这个问题。
我使用了支持实体框架的最新 ODAC 11.2 Release 4 (11.2.0.3.0),并且工作正常。
如果您收到此错误,“内部异常消息:连接已经是本地或分布式事务的一部分”
您可以按照 BScholz 的第二篇文章解决该问题, https://forums.oracle.com/forums/thread.jspa?threadID=2263095
基本上,您需要为 Oracle 数据源实现 SaveChanges_Excuting 和 SaveChanges_Excuted。
- 切换到“文件视图”(LightSwitch 默认显示“逻辑视图”)。
- 在服务器项目中添加对“System.Transactions”的引用。
- 切换回“逻辑视图”
- 右键单击数据源名称,然后单击“查看代码”以编辑部分类。
复制并粘贴以下代码:
private TransactionScope _tscope; partial void SaveChanges_Executing() { _tscope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }); } partial void SaveChanges_Executed() { _tscope.Complete(); _tscope.Dispose(); }
在 LightSwitch的培养试剂盒具有专用于经由WCF RIA服务使用替代数据源的练习。
您可能会发现有用的。