首頁

2013年5月27日 星期一

**如何利用EdmGen 在Visual**Studio 2010中~~实现PostgreSql**的实体框架设计.*~

   **如何利用EdmGen 在Visual**
 Studio 2010中~~实现PostgreSql**的实体
框架设计*~

  ))ADO.net实体框架已经成为微软数据访问处理方案中的首选方案了,但是Visual Studio 2010中若使用实体框架,则只支持Sql Server的生成和更新。虽然Ado.net实体框架也支持Oracle,Mysql,PostgreSql等数据库,但是不能通过 VS2010生成,必须通过第三方提供的软件进行。举例PostgreSql来说,我们可以安装Devart Software提供的DotConnect for PostgreSQL,安装好后就可以使用PostgreSQL的实体框架生成了。但DotConnect for PostgreSQL是收费软件,安装后超过使用期后开发的软件就会报过期异常,而免费版的 DotConnect for PostgreSQL经我测试并不支持实体框架的生成。那么有没有更好的直接利用开源软件实现实体框架模型的 生成的,以下就是我利用开源的npgsql实现PostgreSQL实体框架的过程:

1、去下载Npgsql的最新版

下载后解压到一个文件夹,例如C:\temp。

2、进入Visual studio 2010 命令行模式,

运行以下两个命令,将库注册到GAC中。

gacutil -i c:\temp\npgsql.dll
gacutil -i c:\temp\mono.security.dll

3、更新 Machine.Config

我更新的目录为C:\WINDOWS\Microsoft.NET\
Framework\v4.0.30319\Config,可以选用对应
的.net框架目录进行更新。
在‘DbProviderFactories’一节中清加以下内容:
<add name="Npgsql Data Provider"
 invariant="Npgsql" support="FF"
description=".Net Framework Data Provider
for Postgresql Server" type="Npgsql.
NpgsqlFactory, Npgsql, Version=2.0.11.92,
Culture=neutral, PublicKeyToken=
5d8b90d52f46fda7" />
(注意版本号对应)

4、使用EdmGen生成实体框架文件

找到 EdmGen (.net 3.5及以上才会有)如果
是VS命令行模式,则可直接运行,在DOS命
令符下则到相应的目录中执行。
到相应的项目目录,运行以下命令:
edmgen /mode:FullGeneration /provider:Npgsql
/connectionstring:"Server=主机地址;Port=

5432;UserId=用户名;Password=密码;
Database=数据库名" /project:WpfApplication1
(以上是命令中需要将中文部分替换为实际值)

此时生成了五个文件。

5、合并实体框架文件

到网上下载edmgen2,可以利用该命令
将将三个模型文件合并成一个文件,
我用了以下命令:
edmgen2 /ToEdmx 文件名.csdl 文件名.msl 

文件名.ssdl
这时会自动生成了“文件名.edmx的文件”!

6、完成实体框架

打开Visau Studio 2010,将上述edmx文件添加
到项目中!这时VS会自动生成
“文件名.Designer.cs”文件!

7、修改app.config(若是ASP.net则修改web.config)

在app.conifg中我们添加以下内容:
<add name="WpfApplication1Context" providerName="System.Data.EntityClient" connectionString="metadata=res://*/

文件名.csdl|res://*/文件名.ssdl|res://*/文件名.msl;provider=Npgsql;provider connection
string='Server=服务器地址;Port=5432;User
Id=用户名;Password=密码;Database=数据库名;enlist=true;'" />

好了,现在PostgreSQL的实体框架就可以用了!

hehe...
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

沒有留言:

張貼留言


if you like make fds, wellcome you here~~anytime***

my free place for everyones who want the good software,

come & download them~ wellcome!!