7

Visual Studio Lightswitch的所有演示都使用 SQL-Server,是否可以使用 Visual Studio Lightswitch 从 Oracle 访问数据?

4

4 回答 4

7

是的,如果您可以获得实体框架的第三方提供商。这周我实际上在 VSLive 上问过这个问题。

于 2010-08-06T01:24:13.183 回答
6

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

  1. Oracle 数据提供程序 (ODP.Net)

    Oracle 的 ODAC 工具包含用于 Visual Studio 应用程序的 Oracle 数据提供程序 (ODP.Net)。Oracle 最新的驱动程序,支持 Entity Framework 4.1 和“模型优先”方法。

    编辑:我不确定它是否支持“代码优先”或 EF 4.2,因此请查看文档。也就是说,它是免费的,并且由 Oracle 支持,所以我强烈建议您在自己动手之前从这里开始,或者使用开源提供程序/驱动程序

    下载ODP.Net 11.2.0.3

    带 ODP.Net 的 EF 教程

    注意:“11.2.0.2 Release 4”会删掉它,但“11.2.0.3 is”会更稳定。

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

    用于 Oracle 的 docConnect

    DevArt 的甲骨文 ADO.Net 提供程序

  3. 开源提供商

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

    https://github.com/object/NorthwindOData


MSDN教程:如何将 Lightswitch 连接到 EF 4.1

于 2012-01-18T23:51:51.800 回答
3

我使用了支持实体框架的最新 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();
    }
    
于 2012-01-14T07:43:41.490 回答
0

LightSwitch 培训工具包有一个专门用于通过 WCF RIA 服务使用替代数据源的练习。

你可能会觉得这很有用。

于 2010-09-21T16:56:26.600 回答