打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
EntityFramework+Wcf 模板 for CodeSmith

原创模板,转载请注明地址

EntityFramework+Wcf模板使用说明

1.   目录说明

     

                      

通用分页查询方法类生成模板

Wcf服务文件*.svc生成模板

Wcf服务接口文件生成模板

主模板文件

通用分页存储过程

Wcf服务.cs文件生成模板

Wcf服务数据库操作逻辑类生成模板

Wcf服务客户端调用类生成模板

Wcf服务配置文件生成模板

1.   使用说明

1.1.  系统项目组成

  

                                              

解决方案文件

服务测试项目

Ado.net实体数据模型层

Wcf服务数据库操作逻辑层

Wcf服务层

Wcf服务接口实现层

 

1.2.  模板使用步骤

第一步:

建立如下结构解决方案

 

在MyNamespace.Service.data项目中,添加Ado.net实体数据模型(*.edmx),并重命名实体容器名称(entities)。

步骤如图:  
 

选择从数据库生成,点击下一步。

 

选择或新建连接,勾选【是】和【将App.Config…】,并点击下一步。

 

选择【表】、【视图】、【存储过程】,填写【模型命名空间】并点击完成。

 

修改实体容器名称。

 

第二步:

打开主模板文件,如下图所示,

 

1)         填写输出目录(outputdirectory)

2)         填写实体容器名称(entities),此名称在Ado.net实体数据模型属性中自定义

3)         填写命名空间(namespace)

4)         选择需要生成的表(tables)

 

点击生成按钮(generate),输出内容:

表示生成成功。

第三步:

 

  1. 将MyNamespace.Service.entity下的文件和根目录下的Class_Base.cs放入MyNamespace.Service.entity项目,并添加引用MyNamespace.Service.data和System.Data.Entity。
  2. 将MyNamespace.Service.host下的文件放入MyNamespace.Service.host项目,并添加引用MyNamespace.Service.service。
  3. 将MyNamespace.Service.service下的文件放入MyNamespace.Service.service项目,并添加引用System.ServiceModel、System.Data.Entity和MyNamespace.Service.data,MyNamespace.Service.entity。

第四步:

将生成文件根目录下的Web.config文件放入MyNamespace.Service.host项目,编辑该文件内容,如下图所示:

 

将注释配置节,替换为Ado.net实体数据模型(*.edmx)项目中App.config中的connectionstring内容。其中的system.serviceModel节服务配置内容,可自行根据项目需求修改。

第五步:

发布wcf服务。

右键点击MyNamespace.Service.host项目,选择【发布】,将服务发布到IIS,以便Web应用程序中调用。

第六步:

         将MyNamespace.Web.Wcf下的文件放入Web应用程序下调用wcf服务的项目中,并为该项目添加服务引用,并将命名空间修改为ServiceReference_表名的格式,修改高级选项,将集合类型选为System.Collections.Generic.List后点击确定。

第七步:

将模板根目录中的proc_pager.sql存储过程导入数据库。

第八步:

在Web应用程序中添加MyNamespace.Web.Wcf引用,并调用MyNamespace.Web.Wcf中的方法,并且将MyNamespace.Web.Wcf项目下的app.config中的<system.serviceModel>配置节内容复制到Web应用程序项目下Web.config中。

2.   备注说明

  1. 此模板所生成方法仅限通用增、删、改、分页查询等方法,可根据项目需求自行修改。
  2. .NET版本为4.0,IIS版本为7.0(Win7旗舰版内置),使用VS2010,SqlServer2008R2,其余版本未作测试。
  3. 此模板根据个人项目习惯修改而来,如不能满足需求,请自行修改。
  4. 出现错误:

 

解决办法:

适当修改MyNamespace.Web.Wcf项目下的app.config中的maxReceivedMessageSize和maxBufferSize属性值为更大值。

  5.出现错误:

 

解决办法:

适当修改MyNamespace.Web.Wcf项目下的app.config中的readerQuotas配置节中的maxDepth属性为更大值。

  6.出现错误:

 

解决办法:

适当修改MyNamespace.Web.Wcf项目下的app.config中的readerQuotas配置节中的maxArrayLength属性为更大值。

  7.关于Demo:

参考demo文件夹下的UsingEFT,包含两个解决方案,Liang.UseEFT.Service为wcf服务端,WebEFT为web调用端。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
无废话WCF入门教程一[什么是WCF]
WCF揭秘——使用AJAX+WCF服务进行页面开发
程序员的私人外包专家
月光软件站 - 编程文档 - VC语言 - 每个开发人员现在应该下载的十种必备工具
CodeSmith自动生成代码
黄聪:如何使用CodeSmith批量生成代码(原创)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服