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.dllgacutil -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!!