所有的演示 Visual Studio 灯光开关 使用 SQL-Server,可以使用 Visual Studio Lightswitch 访问 Oracle 中的数据吗?

有帮助吗?

解决方案

Visual Studio Lightswitch 可以通过实体框架持久保存到 Oracle 数据库。

  1. Oracle 数据提供商 (ODP.Net)

    Oracle 的 ODAC 工具包含与 Visual Studio 应用程序一起使用的 Oracle Data Provider (ODP.Net)。Oracle 的最新驱动程序支持 Entity Framework 4.1 和“模型优先”方法。

    编辑:我不确定它是否支持“Code-First”或 EF 4.2,因此请检查文档。也就是说, 它是免费的,并由 Oracle 支持,因此我强烈建议您在自行部署之前从这里开始,或者使用开源提供商/驱动程序.

    下载ODP.Net 11.2.0.3

    ODP.Net 的 EF 教程

    笔记:“11.2.0.2 Release 4”会削减它,但“11.2.0.3”已经淘汰并且更稳定。

  2. 可以购买第三方驱动程序:

    Oracle 的 docConnect

    DevArt 的 Oracle ADO.Net 提供程序

  3. 开源提供商

    此外,还有一些可用的开源选项 - 我在 Github 上找到了一个:

    https://github.com/object/NorthwindOData


教程上 微软软件定义网络:如何将 Lightswitch 连接到 EF 4.1

其他提示

是的,如果你能得到的实体框架第三部分供应商。我实际上是在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。

  1. 切换到“文件视图”(LightSwitch 默认显示“逻辑视图”)。
  2. 在服务器项目中添加对“System.Transactions”的引用。
  3. 切换回“逻辑视图”
  4. 右键单击数据源名称,然后单击“查看代码”以编辑部分类。
  5. 复制并粘贴以下代码:

    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服务使用替代数据源的练习。

您可能会发现有用的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top