iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >详解.NET主流的几款重量级 ORM框架
  • 633
分享到

详解.NET主流的几款重量级 ORM框架

2024-04-02 19:04:59 633人浏览 八月长安
摘要

目录1、Entity Framework2、sqlSugar3、PetaPoco(增删改不需要自己写sql语句)4、NHibernate市场上轻量级ORM有很多,比如Dapper、C

市场上轻量级ORM有很多,比如Dapper、Chloe 本篇文章就介绍一下 功能比较多并且全的ORM

1、Entity Framework(重量级)

2、SqlSugar(重量级)

3、NHibernate(重量级)

4、PetaPoco (介于EF和Dapper之间)

对比:操作的难易程度、执行效率、跨数据库

应用程序的组成必须有数据库
开发人员的职责:编写业务和功能性代码
如果让开发人员去学习数据库增加了开发成本,将数据库操作封装为代码级别的api程序员调用,实现了职责分离

1、Entity Framework

1.一般EntityFrameworkCore(ORM映射工具)安装在你的数据项目工程中,这里我通过nuget安装的sqlserver的包。对应的数据和安装对应的包就行。包名如下:
Microsoft.EntityFrameworkCore.SqlServer

2.然后我们建立好对应的数据Model

3.Model建立完成后,我们建立数据库上下文文件如下

EFCORE是微软 官方ORM ,也是每个.net用户必学的框架,工作中占比最高的ORM

2、SqlSugar

是一款使用比较简单的重量级ORM ,有完整的中文文档上手快,也是重多国产ORM代表之一,同类型的还有几款这里不作介绍功能基本上差不多

功能全面 有完善的表达式 、支持导航查询、导航插入、导航删除、字典插入、BulkCopy、数据库管理、二级缓存aop、CodeFirst、DbFirst、WEBFirst、导入验证、分批处理、树型查询、仓储、低代码、UOW等、事务、嵌套查询、并集查询和ADO操作等

Nuget 安装 .net core就安装 SqlSugarCore

导航查询

var list=db.Queryable<Test>()
          .Includes(te => te.Provinces, pro=>pro.Citys ,cit=>cit.Street) //多层级
          .Includes(te=> te.ClassInfo)// 一级查询
          .ToList();

联表查询

var query5 = db.Queryable<Order>()
            .LeftJoin<Custom>   ((o, cus ) => o.CustomId == cus.Id)//多个条件用&&
            .LeftJoin<OrderDetail> ((o, cus, oritem) => o.Id == oritem.OrderId)
            .Where(o => o.Id == 1) 
            .Select(o =>o)
            .ToList();

3、PetaPoco(增删改不需要自己写sql语句)

Nuget下载PetaPoco,安装时会自动生成模板(介于EF和Dapper之间)
其中在DataBase.tt模板文件中修改配置ConnectionStringName为连接字符串的name,其他配置修改可选

using(var context = new DbContext())
{
var list = context.Query<Article>("select * from article");
foreach(var item in list)
{
console.WriteLine(item.Title);
}
}
 
//PetaPoco插入
var article = new Article{ Title="测试标题",Content="测试内容" };
var count = article.Insert();

4、NHibernate

比较贴近Java程序员的ORM,学习成本比较高

1.完全的ORM框架
NHibernate对数据库结构提供了较为完整的封装,它将数据库模式映射为较完全的对象模型,支持封装,继续机制,功能较强大,比一般的ORM灵活性高。
开发人员可以完全按照对象模型操纵数据库。
2.代码自动生成,减少代码和sql的开发量,使开发人员摆脱开sql,ado.net和事务,缓存等底层。
NHibernate的O/R Mapping实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了PO 到数据库表的映射关系,即可通过NHibernate提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练把握, NHibernate 会根据制定的存储逻辑,自动生成对应的SQL 并调用ADO.NET接口加以执行。NHibernate有工具可以直接根据数据库模式生成po类,或者通过在代码中添加Attribute属性自动生成配置文件。
这些都减少了开发工作量。
3.较好的文档支持。
NHibernate的代码可读性和文档都比较好。

到此这篇关于详解.NET主流的几款重量级 ORM框架的文章就介绍到这了,更多相关.NET ORM框架内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解.NET主流的几款重量级 ORM框架

本文链接: https://www.lsjlt.com/news/154141.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解.NET主流的几款重量级 ORM框架
    目录1、Entity Framework2、SqlSugar3、PetaPoco(增删改不需要自己写sql语句)4、NHibernate市场上轻量级ORM有很多,比如Dapper、C...
    99+
    2024-04-02
  • PHP框架选择及几款主流框架的性能基本评测的示例分析
    小编给大家分享一下PHP框架选择及几款主流框架的性能基本评测的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需求毫无疑问,Web框架技术在近几年已经得到了...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作