2

首先 - 如果有人有一个可以运行 DB2 的实体模型,你能把它贴出来吗?现在解释一下:

我有一个具有 SQL Server 数据库(仅用于开发)的开发环境和具有 DB2 数据库的 uat/生产环境(或多或少相同的数据库,只是在不同的平台上)

使用 Visual Studio 2010,我可以成功地针对 SQL Server 数据库生成实体框架模型,但不能针对 DB2。我安装了 DB2 9.7 客户端以及“IBM Database Add-ins for Visual Studio”,它允许我创建到 DB2 数据库的连接并通过 Server Explorer 连接到它,但是当我尝试从 DB2 Visual Studio 生成模型时挂起,最终我得到一个空模型。

因为我可以从 SQL Server 生成模型,所以我想知道当我的环境切换时,只需将 web.config 更改为指向 DB2 而不是 SQL Server 是否是一个简单的切换。

有没有人在 DB2 中使用实体框架,如果有,请您发布您的 web.config,以便我可以尝试切换提供程序?

4

1 回答 1

0

切换实体模型以连接到 DB2 需要进行两项更改。根据您所拥有的版本,这显然可能会改变。.edmx 更改:

<!-- SQL SERVER <Schema Namespace="Models.myDb2Model.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2008"                  xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">-->
                <Schema Namespace="Models.myDb2Model.Store" Alias="Self" Provider="IBM.Data.DB2"          ProviderManifestToken="DB2, 09.01.0005, 0, 0" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">

这是 web.config 更改:

 <!-- SQL SERVER<add name="db2Connection" 
     connectionString="metadata=res://*/Models.db2Entities.csdl|res://*/Models.db2Entities.ssdl|res://*/Models.db2Entities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost;initial catalog=mySqlServerDb;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" /> -->

  <add name="db2Connection" 
       connectionString="metadata=res://*/Models.db2Entities.csdl|res://*/Models.db2Entities.ssdl|res://*/Models.db2Entities.msl;provider=IBM.Data.DB2;provider connection string=&quot;Database=myDb2Db;User ID=myUserId;Password=MyPassword;Server=myServerName:myPort;DBName=myDbName;ConcurrentAccessResolution=Currentlycommitted;CurrentPackageSet=myCurrentPackageSet&quot;" 
       providerName="System.Data.EntityClient" />

编辑:显然您的机器需要设置为连接到 DB2,为 VS 安装适当的客户端和数据库插件。

于 2012-08-28T18:36:45.090 回答