记得有很久没有研究过新的技术了,反正上次买了本WCF服务编程的书,我记得只看了几页后就再也没有动过。可能是年纪大了,没精力再去研究一些新的技术了。再说在解决分布式的问题时,还有一套REMOTING的方案可以使用。因此也一直没有升级VS2008。对WCF的相关知识也只是在网上难得看一下。

前一阵在网上看到Linq To SQL将来不再支持的消息后,同时EntityFramework也发布了一阵了,前二天利用双休的时间,快速学习了一下WCF,LINQ,EF的一些知识,其实也只能是说了解一下,因为只是看了些理论上的东东,还没有写过一句代码呢。关于EF的知识,网上的资料实在太少了,google一把的话,也找不出几个真正意义上的原创。

在下面的系列中我将实战一下WCF+EF的分布式系统。其中包含逻辑存储数据库层、数据访问层、域模型层、业务经理层、服务层、表示层以及被动 UI 层,同时我还将演示如何使用实体框架来集成这些层。

由于本身是学习。因此我的演示还是相对比较简单的。使用程序来对员工信息进行执行查看,添加和编辑删除的操作。在真正的实现之前我们来讨论一下该示例的整体体系结构

上图显示了一个典型的分层式体系结构的视图,顶部的两层使用UI和表示层来处理用户界面表示和导航。UI的话,可以通过各种技术来实现。(当然WPF我还没学,SilverLight我也不会,真是惭愧的很.)UI层使用带被动视图的MVP模式,这表示视图由表示层进行管理和控制。表示器将负责为视图提供数据,或从视图中获取相关的数据以保存在较低层。当然也会响应由视图引发的一些事件。

表示器将通过WCF与较低的层进行通信。前提当然是通讯的双方有一个约定,这里我们将使用WCF的契约。关于WCF的相关的知识可以在网上参考一些相关的知识,因为我也是刚学,因此一些技巧和体会还不深,也就不再班门弄斧了。下面列出一些参考:

http://www.cnblogs.com/artech/category/156733.html

http://www.cnblogs.com/jillzhang/category/121346.html

我也是从这里来学习的。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

服务层负责接收来自表示器的通信并调用相应的业务层方法,这些方法将执行相应的业务逻辑和数据收集或修改操作。业务层是业务逻辑和示例的 LINQ to Entities 代码将要驻留的位置。LINQ to Entities 代码将引用从实体框架所生成的实体模型。执行 LINQ 查询时,实体框架会将 LINQ 查询转换为概念实体模型(实体数据模型或 EDM)、将实体内容映射到存储层、生成 SQL 查询并针对数据库加以执行。

对于这些新技术(发布也很长时间了,不能叫新技术了,可对于我来说是新的)我本身也不是专家,因此我在本文或后续的文章中,可能不会着重讲一些理论的知识,只将示例一个WCF+EF的例子。欢迎各位讨论,同时如有不同意见,欢迎拍砖。

转载于:https://www.cnblogs.com/greystar/archive/2008/11/25/2235333.html

WCF+EF实战系列一相关推荐

  1. WCF开发实战系列四:使用Windows服务发布WCF服务

    WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本 ...

  2. [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店...

    原文:[.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店 一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Bytear ...

  3. WCF后传系列(5):深入WCF寻址Part 5—逻辑地址和物理地址

    概述 在WCF中,每个服务终结点都与两个地址相关联,一个逻辑地址和一个物理地址,逻辑地址就是SOAP消息的目标地址,即前面不止一次提到的"To"地址,而物理地址是WCF侦听器真正监 ...

  4. .NET深入实战系列—Linq to Sql进阶

    .NET深入实战系列-Linq to Sql进阶 最近在写代码的过程中用到了Linq查询,在查找资料的过程中发现网上的资料千奇百怪,于是自己整理了一些关于Linq中容易让人困惑的地方. 本文全部代码基 ...

  5. WF4.0实战系列索引

    从WF4.0 betal1出来的时候就开始使用WF4.0,由于资料不多,学习过程也非常艰苦.今年四月份的时候打算写WF4.0实战系列,由于今年是本命年故坚持写了24篇文章.这个系列的文章都有一个特点, ...

  6. MongoDB实战系列之二:MongoDB的常用操作

    #以服务方式启动mongodb,要求验证 /elain/apps/mongodb/bin/mongod --fork --port 27001 --auth --dbpath /elain/data/ ...

  7. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 目录 一.全网备份 (一)部署Rsync守护进程 1)服务端(backup) 2)客户端(web01/02/03 nfs01) (二)编写脚本文件 1)客户端脚本编 ...

  8. MP实战系列(二)之集成swagger

    其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同 ...

  9. 07.GitHub实战系列~7.Git之VS2013团队开发(如果不想了解git命令直接学这篇即可)...

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ---------------------------------------- ...

最新文章

  1. pycharm调试显示图片
  2. 复制(Copying)
  3. 资料分享 | 教程与开发手册资料分享来袭
  4. C语言结构体对齐[转]
  5. 20200213:去除重复字母(leetcode316)
  6. Java中Date和Calender类的使用方法
  7. 硬盘安装工具cgi_PE系统(U盘安装)
  8. 【ITS模型】基于MATLAB的ITS宽带短波信道模型的建模和仿真
  9. Adobe Creative Cloud 2022 (macOS、Windows) TNT 合集
  10. MATLAB中四阶单位矩阵,matlab-线性代数 创建 N阶数量矩阵 N阶单位矩阵 对角矩阵 范德蒙矩阵 等差数列......
  11. 网站建设 之 CSS渐变
  12. AGPBI: {“kind“:“error“,“text“:“Program type already present: android.support.v4.os.ResultReceiver$1“
  13. 能“干掉”苹果的中国“黑客”
  14. PyEcharts 直角坐标系图表之箱形图
  15. SAP EWM仓储管理系统与自动化仓储硬件对接方案介绍
  16. Promise及其应用
  17. ArcGIS地理要素数据获取及地图制作
  18. ROS | launch启动文件的使用
  19. 云上数据保护,你以为挡住黑客就够了?
  20. 华为一碰传nfc标签_一碰传连接失败,触碰标签无反应

热门文章

  1. 浅析android应用增量升级
  2. Java中的几种对象(PO、VO、DAO、BO、POJO)
  3. Java集合系列:Vector解析
  4. Elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
  5. spring-jar包详解整理
  6. vs2005 c# mysql_在VS2010中怎样用C#创建数据库联接并执行sql语句 最好举个例子讲一下...
  7. qt设置顶层窗口_Python快速入门系列:PyQt5 快速开发GUI-窗口类型以及主窗口创建...
  8. golang new与make的一点区别理解
  9. ashx一般处理程序
  10. php 第一次创建文件时延迟4秒 sleep用法