知识大全 用ObjectSpaces重建IBuySpy的数据访问层

Posted 版本

篇首语:种子牢记着雨滴献身的叮嘱,增强了冒尖的勇气。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用ObjectSpaces重建IBuySpy的数据访问层相关的知识,希望对你有一定的参考价值。

用ObjectSpaces重建IBuySpy的数据访问层  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ObjectSpaces这个ORM框架可能已经被大家听过N次了 它诞生很早 但开发周期拖了很长 虽然很早它的测试版本就已经有人使用了 但只到 Net Framework 才计划正式将它包含其中 并放在了Object Data ObjectSpaces这个NameSpace中       ObjectSpaces的流传版本也是甚多 被很多人研究过的一个EAP(Early Adopter Preview)版的版本号是 我在里面看过一个 的版本做的东西 这里用的这个ObjectSpaces是现在大家普遍使用的 Net Framework Alpha测试版里面带的 版本号同 Net Framework保持一致         从版本号的变更就可以看出 ObjectSpaces从开始到现在变化很大 上面提到的三个版本都各有差别 而且差别不小 现在最新的这个版本我想应该和最终版本差别不会很大了 我以前的一篇文章就是基于EAP版本的 比现在的简单不少        进入正题 在IBuySpy的架构中 实际上是没有BLL(商业逻辑层)的 甚至没有创建Entity Class 数据通过DAL(数据访问层)从数据库中获得 然后将DataSet或者DataReader直接从DAL传递给构成IBuySpy页面的Module的ascx文件 再直接绑定到DataList之类的web control上        我们这里将IBuySpy的Announcement模块的DAL用ObjectSpaces重新写过     一 先来看看IBuySpy原来的Announcements模块       DAL AnnouncementsDB cs文件       界面控件页面 用于显示的Announcements ascx控件和用于新增修改的EditAnnouncements aspx页面       里面都是最最标准的写法 没什么讲的  二 Entity Class       新创建一个Announcement类和一个AnnouncementCollection集合类 也没什么讲的     三 建立ObjectSpaces的RSD OSD MSD       ObjectSpaces的核心就是用来描述Schema的三个xml文件       一个描述数据库表结构的Relational Schema Definition 一个描述实体类结构的Object Schema Definition 和一个描述表结构和实体类映射关系的Mapping Schema Definition       用ObjectSpace最主要(也是最烦人)的工作就是把这三个Schema写出来 EAP版里面还只有一个xml文件要写 现在要写三个了L       AnnouncementRSD xml       AnnouncementOSD xml       AnnouncementMSD xml    四 重写DAL       创建一个新的类文件AnnouncementOSDB cs 包含一个新的类AnnouncementOSDB 里面的方法签名对照着IBuySpy原本的AnnouncementDB类就行了 原本的AnnouncementDB是用ADO NET 返回DataSet DataReader 我们的AnnouncementOSDB就用ObjectSpaces 返回实体集合类或实体类        根据moduleId返回Announcement集合       public AnnouncementCollection GetAnnouncements(int moduleId)             ObjectSpace os = new ObjectSpace(_sMapFilePath _conn);       // 条件是ModuleID等于参数moduleId ExpireDate大于当前时间       ObjectQuery query = new ObjectQuery(typeof(Announcement) ModuleID = + moduleId ToString() + and ExpireDate > # + DateTime Now ToString() + # );       // 取数据       ObjectReader reader = os GetObjectReader(query);       AnnouncementCollection result = new AnnouncementCollection();       // 从ObjectReader中取值不需要另外造型       foreach (Announcement ann in reader)             result Add(ann);              return result;              根据参数返回一个Announcement       public Announcement GetSingleAnnouncement(int itemId)             ObjectSpace os = new ObjectSpace(_sMapFilePath _conn);       ObjectQuery query = new ObjectQuery(typeof(Announcement) ItemID = + itemId ToString());       return (Announcement) os GetObject(query);           

  [NextPage]

cha138/Article/program/ASP/201311/21831

相关参考

知识大全 用Ajax读取XML格式的数

用Ajax读取XML格式的数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用Ajax读取XML

在二进制数中,什么样的数为真值?

  直接用正号“十”和负号“一”来表示的二进制数,称为带符号数的真值。

在二进制数中,什么样的数为真值?

  直接用正号“十”和负号“一”来表示的二进制数,称为带符号数的真值。

房地产开发企业,拆迁原址重建的房产,其收入如何确认?

我公司是房地产开发企业,正在作土地增值税清算。请问,拆迁原址重建的房产,其收入如何确认?  根据《关于土地增值税清算有关问题的通知》(国税函[2010]220号),房地产企业用建造的本项目房地产安置回

简述恢复重建的主要步骤

简述恢复重建的主要步骤。答案:(1)设立恢复重建机构;(2)确定恢复目标;(3)制定恢复计划;(4)寻求援助、组织重建。【知识点】恢复期间的管理方式,以及各阶段应急工作的总结和评估重点【答案依据】《政

简述恢复重建的主要步骤

简述恢复重建的主要步骤。答案:(1)设立恢复重建机构;(2)确定恢复目标;(3)制定恢复计划;(4)寻求援助、组织重建。【知识点】恢复期间的管理方式,以及各阶段应急工作的总结和评估重点【答案依据】《政

知识大全 你认为圆明园该重建吗

你认为圆明园该重建吗?说说你的理由我觉得圆明园不该重建,因为当我们看到圆明园的那些废墟时,我们可以知道我们以前的中国是怎样被外国人欺负,可以成为一种动力,所以我觉得圆明园不该重建认为现在该不该重建圆明

一个三位数,百位数比十位上的数大4,个位上的数比十位上的数大2,这个三位数恰好是后两个数字组成的两位数的21倍,那么,这

一个三位数,百位数比十位上的数大4,个位上的数比十位上的数大2,这个三位数恰好是后两个数字组成的两位数的21倍,那么,这个三位数是:_____A、532B、476C、676D、735答案:D解析:百位

知识大全 比800少30 的数是

比800少30的数是????急!要准确步骤!设比800少30的数是x则800-x=30-x=30-800-x=-770x=770所以比800少30的数是770请采纳急!关于QQ被盗问题!!!高手指教!

什么是咬合重建

咬合重建是口腔修复的重要方法,它包括颌位的改正、适当地恢复垂直距离,重建正常的咬合关系等。颞颌关节功能紊乱的病人,由于牙合与颞颌关节结构失调,影响正常的下颌运动和关节运动,当使用咬合板消除症状后,咬合