Spiga

介绍一个开源的ORM--ORM.NET

2011-02-28 22:39 by PoulXia, 3040 visits, 收藏, 编辑

一.介绍

  ORM.NET是一个开源的.net对象关系映射的代码生成工具,它根据数据库结构生成一个数据实体层,为每一个表生成一个对应的类,为表的每一个字段生成类的一个属性。

  通过生成的DataManager对象,不用使用存储过程和嵌入SQL脚本就可以很容易根据复杂的条件检索数据,除此之外,数据更新,插入和删除可以通过一次调用就可以对数据进行保存。

  官网地址:http://orm-net.sourceforge.net/

  下载:http://sourceforge.net/projects/orm-net/files/ORM.NET/

 

二.演示

  http://orm-net.sourceforge.net/tour.html

 

三.官方提供的使用示例

 

//根据数据库连接字符串创建一个数据管理对象

DataManager data = new DataManager(Config.Dsn);

 

//获取一个Customers集合并检索关联的Order表

CustomersCollection customers = data.GetCustomersCollection(FetchPath.Customers.Orders);

 

//根据ContactName进行降序排序

customers.SortByContactName(SortDirection.Descending);

 

//更新Customers表中CustomerID="ALFKI"的记录,把ContactName修改为"Peach"

customers.FindByCusmerID("ALFKI").ContactName = "Peach";

 

//创建一个新的customer对象

Customers customer = data.NewCustomers("Tes7","Orero software");

customer.ContactName = "Tech Support";

 

//创建新的关联对象

Orders order = customer.NewOrders();

order.OrderDate = DateTime.Now;

 

//通知DataManager更新数据库一直持续到所有的操作完成

data.CommitAll();

 

说明:我只是翻译过来跟大家分享一下这个ORM,让大家多了解一下,具体我没在项目中用过也没测试过,个人觉得这样的ORM只适合做网站和小项目可能提高开发效率。

 

版权声明:原创作品,允许转载,转载时请务必以超链接形式 标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
http://www.cnblogs.com/huazai/archive/2011/02/28/1967507.html
Add your comment

11 条回复

  1. #1楼 路过秋天      2011-02-28 22:54
    你要是写一下介绍CYQ.Data 数据框架方面的文章该有多好呢
     回复 引用 查看   
  2. #2楼[楼主] 骆驼大师      2011-02-28 23:07
    @路过秋天
    呵呵,你这个CYQ.Data数据框架也不错
     回复 引用 查看   
  3. #3楼[楼主] 骆驼大师      2011-02-28 23:13
    之前知道的ORM有:Subsonic,NHibernate,最近知道了LLBGL,现在的项目有用到Linq to Sql,不知道大家现在的项目用的什么ORM
     回复 引用 查看   
  4. #4楼 testzhangsan      2011-02-28 23:35
    ADO.NET + CodeSmith 我自己写的一个轻量级的框架。跟你上面介绍的ORM.NET差不多,也是通过 CodeSmith 生成实体类,也能有外键对应一个实体类,还有延迟加载, 也可以选择只加载某一个属性,比如加载Customer 实体时,只加载 Orders 表的 OrderDate 属性,也可以加载多个属性,也可以加载 Orders 表引用的外键实体,比如 Product 实体。总之,常用的方法,比如 增加、删除、更新、查询所有实体并分页以及排序、搜索等等。
     回复 引用 查看   
  5. #5楼 Treenew Lyn      2011-03-01 08:31
    惭愧。我的 ORM 不是很“正解”。
    感觉更类似“SqlHelper”。但我感觉挺好用的。我相信更多的应用环境更关注的是:SQL,而不是自动生成 SQL。需要的是实体,但实体不会固定。尤其是业务性的东西。
     回复 引用 查看   
  6. #6楼 代码乱了      2011-03-01 11:23
    不错,支撑一下
     回复 引用 查看   
  7. #7楼 冰河之刃      2011-03-01 11:35
    好东西,有空研究一下。。。
     回复 引用 查看   
  8. #8楼 iTech      2011-03-01 12:13
    orm.net好东西
     回复 引用 查看   
  9. #9楼 nZAI      2011-03-01 12:55
    一直在用BLToolkit,适合我。
     回复 引用 查看   
  10. #10楼 Richwong      2011-03-01 13:05
    EF4呢
     回复 引用 查看   
  11. #11楼 Dreaming      2011-03-01 16:49
    轻量级一直用DBEntry
     回复 引用 查看