我爱Aspx >> C#.Net >> 到底什么是 O/R Mapper到底什么是 O/R Mapper
到底什么是 O/R Mapper 为什么要翻译这个?
一次和一个群里面的朋友聊天,有人说最近发现了新的设计数据库方法,就是把数据库的列和对象属性一一对应,这样设计很方便。我说寒,那有这么容易的,实际情况复杂去了,怎么能一一对应。
然后老兄大骂了我不懂,然后找来一篇文章作论据,我打开看看,是讲O/R Mapper的。我寒的不行,没敢再多少话。
印象中始终缺乏好的关于O/R Mapper的中文文章,所以造成很多人概念不清。O/R Mapper到底是什么?
Steve Eichert这一系列文章讲得不错。打算跟着翻译一下,给自己增加点认识。当然也希望对更多的人有所帮助。
原文:http://dotnetjunkies.com/weblog/seichert/posts/4677.aspx
到底什么是 O/R Mapper
最近社区里面讨论O/R Mapper的越来越多了,但是,到底什么是O/R Mapper呢?
让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。几乎所有的程序里面,都存在对象和关系数据库。在业务逻辑层和用户界面层中,我们是面向对象的。当对象信息发生变化的时候,我们需要把对象的信息保存在关系数据库中。
当你开发一个应用程序的时候(不使用O/R Mapper),你可能会写不少数据访问层的代码,用来从数据库保存,删除,读取对象信息,等等。你在DAL中写了很多的方法来读取对象数据,改变状态对象等等任务。而这些代码写起来总是重复的。
如果打开你最近的程序,看看DAL代码,你肯定会看到很多近似的通用的模式。我们以保存对象的方法为例,你传入一个对象,为SqlCommand对象添加SqlParameter,把所有属性和对象对应,设置SqlCommand的CommandText属性为存储过程,然后运行SqlCommand。对于每个对象都要重复的写这些代码。
Ҷƪл˵?
VisualC#中托管Socket的实现方法..[05-20]
Visual C#托管Socket的实现方法(..[05-20]
Visual C#托管Socket的实现方法(..[05-20]
保护你的代码——谁动了我的组件..[05-20]
C#的四个基本技巧[05-20]
用Visual C#实现文件下载功能(1)[05-20]
在Linux上运行C#[05-20]
通过.NET Framework访问活动目录..[05-20]
概述C#中的索引器[05-20]
轻松访问系统资源[05-20]