当前位置: 首页 > news >正文

新乡 网站运营房地产网站建设流程

新乡 网站运营,房地产网站建设流程,公司申请邮箱怎么申请,中国十大公关公司排名市面上有很多流行的 ORM#xff08;对象关系映射#xff09;框架可以用于 .NET 开发。本文主要针对以下几种常见的 ORM 框架#xff0c;对其优劣进行分析及总结#xff0c;希望能够帮助大家进行ORM框架的使用有所帮助。 1. Entity Framework (EF) 特点 • 官方支持对象关系映射框架可以用于 .NET 开发。本文主要针对以下几种常见的 ORM 框架对其优劣进行分析及总结希望能够帮助大家进行ORM框架的使用有所帮助。 1. Entity Framework (EF) 特点 •    官方支持由 Microsoft 开发和维护是 .NET 生态系统中最受欢迎的 ORM 框架。 •    丰富的特性 •    支持 Code First、Database First 和 Model First 等多种开发模式。 •    提供强大的 LINQ 查询支持。 •    内置迁移工具方便数据库版本控制。 •    支持多种数据库如 SQL Server、MySQL、PostgreSQL、SQLite 等。 •    性能优化 •    提供了缓存机制、异步操作等性能优化选项。 •    社区活跃 •    拥有庞大的开发者社区和丰富的文档资源。 示例代码 using Microsoft.EntityFrameworkCore;public class BloggingContext : DbContext {public DbSetBlog Blogs { get; set; }public DbSetPost Posts { get; set; }protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlServer(YourConnectionStringHere);} } 2. Dapper 特点 •    轻量级Dapper 是一个微 ORM专注于简单的查询和映射性能极高。 •    简洁易用 •    使用简单学习曲线低。 •    直接执行 SQL 查询并返回强类型结果。 •    灵活性 •    允许编写原生 SQL 查询适合需要高度控制查询语句的场景。 •    性能优异 •    性能非常接近直接使用 ADO.NET适合高并发场景。 示例代码 using Dapper; using System.Data.SqlClient;public class Product {public int Id { get; set; }public string Name { get; set; }public decimal Price { get; set; } }public ListProduct GetProducts() {using (var connection new SqlConnection(YourConnectionStringHere)){return connection.QueryProduct(SELECT * FROM Products).ToList();} } 3. NHibernate 特点 •    历史悠久基于 Java 的 Hibernate 框架移植而来功能强大且成熟。 •    丰富的特性 •    支持复杂的映射配置包括继承、多对多关系等。 •    提供缓存、事务管理等功能。 •    支持多种数据库如 SQL Server、MySQL、PostgreSQL 等。 •    灵活性 •    配置灵活支持 XML 和 Fluent API 两种方式。 •    学习曲线较陡 •    功能丰富但也相对复杂初学者可能需要更多时间来掌握。 示例代码 using NHibernate; using NHibernate.Cfg;public class Product {public virtual int Id { get; set; }public virtual string Name { get; set; }public virtual decimal Price { get; set; } }public class ProductMap : ClassMappingProduct {public ProductMap(){Table(Products);Id(x x.Id, m m.Generator(Generators.Identity));Property(x x.Name);Property(x x.Price);} }public class Program {private static ISessionFactory sessionFactory;public static void Main(string[] args){var configuration new Configuration();configuration.Configure();configuration.AddMapping(new ProductMap());sessionFactory configuration.BuildSessionFactory();using (var session sessionFactory.OpenSession()){using (var transaction session.BeginTransaction()){var product session.GetProduct(1);Console.WriteLine(product.Name);transaction.Commit();}}} } 4. LLBLGen Pro 特点 •    商业产品提供专业版和社区版功能全面且性能优越。 •    丰富的特性 •    支持多种数据库如 SQL Server、MySQL、PostgreSQL、Oracle 等。 •    提供强大的代码生成工具自动生成实体类和数据访问层代码。 •    支持 LINQ 查询、事务管理等功能。 •    灵活性 •    可以选择不同的设计模式如 Active Record、Repository 等。 •    性能优化 •    提供了多种性能优化选项如批量操作、缓存机制等。 示例代码 using SD.LLBLGen.Pro.ORMSupportClasses; using SD.LLBLGen.Pro.Examples.EntityClasses;public class ProductService {private readonly IPersistenceCore _persistenceCore;public ProductService(IPersistenceCore persistenceCore){_persistenceCore persistenceCore;}public ListProductEntity GetProducts(){using (var adapter new DataAccessAdapter()){var products new ListProductEntity();adapter.FetchEntityCollection(products, null);return products;}} } 5. NPoco 特点 •    轻量级类似于 Dapper但提供了更多的功能。 •    简洁易用 •    使用简单学习曲线低。 •    支持 LINQ 查询和 POCO 映射。 •    灵活性 •    允许编写原生 SQL 查询适合需要高度控制查询语句的场景。 •    性能优异 •    性能接近 Dapper适合高并发场景。 示例代码 using NPoco; using System.Data.SqlClient;public class Product {public int Id { get; set; }public string Name { get; set; }public decimal Price { get; set; } }public class Database : Database {public Database() : base(YourConnectionStringHere, DatabaseType.SqlServer2012) { } }public ListProduct GetProducts() {using (var db new Database()){return db.FetchProduct(SELECT * FROM Products);} } 6. RepoDb 特点 •    轻量级专注于高性能的数据访问操作。 •    简洁易用 •    使用简单学习曲线低。 •    支持 LINQ 查询和 POCO 映射。 •    灵活性 •    允许编写原生 SQL 查询适合需要高度控制查询语句的场景。 •    性能优异 •    性能非常接近直接使用 ADO.NET适合高并发场景。 示例代码 using RepoDb; using System.Data.SqlClient;public class Product {public int Id { get; set; }public string Name { get; set; }public decimal Price { get; set; } }public class Program {public static void Main(string[] args){using (var connection new SqlConnection(YourConnectionStringHere)){var products connection.QueryAllProduct();foreach (var product in products){Console.WriteLine(${product.Name} - {product.Price});}}} } 7.SqlSugar 优点 1.    易用性 •    SqlSugar 的 API 设计非常简洁易于上手适合快速开发。 2.    多数据库支持 •    支持多种主流数据库包括 MySQL、SQL Server、PostgreSQL、Oracle、SQLite、ClickHouse 等。 3.    丰富的特性 •    提供了诸如分页、事务管理、批量操作、动态表名等功能并且支持复杂的查询构建。 4.    良好的文档和支持 •    官方文档详尽提供了大量的示例代码和教程便于学习和使用。 5.    扩展性强 •    可以通过插件或扩展包如 SqlSugar.ClickHouseCore轻松扩展功能。 6.    性能优化 •    提供了一些性能优化选项如缓存机制和异步操作。 缺点 1.    某些高级功能不够完善 •    虽然 SqlSugar 功能丰富但在某些高级功能上可能不如 FreeSQL 强大。 2.    社区活跃度稍低 •    相比 FreeSQLSqlSugar 的社区活跃度略低但仍然有较好的支持。 using SqlSugar; using Microsoft.Extensions.Configuration; using System; using System.IO; using System.Linq;namespace SqlSugarClickHouseExample {[SugarTable(orders)]public class Order{[SugarColumn(IsPrimaryKey true, IsIdentity true)]public int Id { get; set; }public DateTime OrderDate { get; set; }public int CustomerId { get; set; }public int ProductId { get; set; }public int Quantity { get; set; }public decimal Price { get; set; }}class Program{static void Main(string[] args){// 读取配置文件var configuration new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(appsettings.json, optional: false, reloadOnChange: true).Build();// 获取连接字符串var connectionString configuration.GetConnectionString(Default);// 创建 SqlSugarClient 实例var db new SqlSugarClient(new ConnectionConfig(){ConnectionString connectionString,DbType DbType.ClickHouse,IsAutoCloseConnection true});// 插入数据var order new Order{OrderDate DateTime.Now,CustomerId 1,ProductId 101,Quantity 2,Price 19.99m};db.Insertable(order).ExecuteCommand();// 查询数据var orders db.QueryableOrder().Where(o o.OrderDate new DateTime(2023, 1, 1)).OrderByDescending(o o.OrderDate).ToList();foreach (var item in orders){Console.WriteLine($Order ID: {item.Id}, Order Date: {item.OrderDate}, Customer ID: {item.CustomerId}, Product ID: {item.ProductId}, Quantity: {item.Quantity}, Price: {item.Price});}// 更新数据order.Quantity 3;db.Updateable(order).ExecuteCommand();// 删除数据db.DeleteableOrder().InSingle(order.Id).ExecuteCommand();}} } 8.FreeSQL 优点 1.    高性能 •    FreeSQL 在查询生成和执行方面进行了大量优化提供了高效的数据库操作。 2.    多数据库支持 •    支持多种主流数据库如 MySQL、SQL Server、PostgreSQL、SQLite 等。 3.    丰富的特性 •    提供了诸如分页、事务管理、批量操作等常用功能并且支持复杂的查询构建。 4.    活跃的社区 •    拥有一个活跃的开发者社区能够及时获得支持和更新。 5.    代码生成器 •    内置了强大的代码生成工具可以自动生成实体类和 CRUD 操作代码。 缺点 1.    学习曲线 •    对于初学者来说可能需要一些时间来熟悉其 API 和配置。 2.    文档相对较少 •    相比 SqlSugarFreeSQL 的官方文档和示例代码相对较少。 示例代码 using FreeSql; using Microsoft.Extensions.Configuration; using System; using System.IO; using System.Linq;namespace FreeSqlClickHouseExample {[Table(Name orders)]public class Order{[Column(IsPrimary true, IsIdentity true)]public int Id { get; set; }public DateTime OrderDate { get; set; }public int CustomerId { get; set; }public int ProductId { get; set; }public int Quantity { get; set; }public decimal Price { get; set; }}class Program{static void Main(string[] args){// 读取配置文件var configuration new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(appsettings.json, optional: false, reloadOnChange: true).Build();// 获取连接字符串var connectionString configuration.GetConnectionString(Default);// 创建 FreeSql 实例var fsql new FreeSqlBuilder().UseConnectionString(DataType.ClickHouse, connectionString).Build();// 插入数据var order new Order{OrderDate DateTime.Now,CustomerId 1,ProductId 101,Quantity 2,Price 19.99m};fsql.Insert(order).ExecuteAffrows();// 查询数据var orders fsql.SelectOrder().Where(o o.OrderDate new DateTime(2023, 1, 1)).OrderByDescending(o o.OrderDate).ToList();foreach (var item in orders){Console.WriteLine($Order ID: {item.Id}, Order Date: {item.OrderDate}, Customer ID: {item.CustomerId}, Product ID: {item.ProductId}, Quantity: {item.Quantity}, Price: {item.Price});}// 更新数据order.Quantity 3;fsql.UpdateOrder().SetSource(order).ExecuteAffrows();// 删除数据fsql.DeleteOrder().Where(o o.Id order.Id).ExecuteAffrows();}} } 配置文件示例 (appsettings.json) {ConnectionStrings: {Default: Host127.0.0.1;Port9000;Usernamedefault;Password;Databasedefault},FreeSql: {Connections: {Default: {ConnectionString: Host127.0.0.1;Port9000;Usernamedefault;Password;Databasedefault,DbType: ClickHouse}}} } 总结 •    Entity Framework适合大多数 .NET 项目特别是需要快速开发和维护的场景。 •    Dapper适合需要高性能和灵活查询的场景尤其是高并发应用。 •    NHibernate适合需要复杂映射和高级功能的大型项目。 •    LLBLGen Pro适合需要专业级功能和性能优化的商业项目。 •    NPoco 和 RepoDb适合需要轻量级和高性能的场景介于 Dapper 和 EF 之间。 •    FreeSQL 适合需要高性能和复杂功能的大型项目。 •    SqlSugar 适合需要快速开发和保持代码简洁的中小型项目。
http://www.dnsts.com.cn/news/206564.html

相关文章:

  • 个人备案域名可以做企业网站吗图片论播wordpress
  • 效果好企业营销型网站建设百度推广公司怎么代理到的
  • 哪个网站上可以做初中数学题购物网站用那个软件做
  • 温岭建设局网站wordpress设置菜单导航
  • 企业门户网站的意义一站式服务门户
  • 网站一级域名长春建站公众号
  • 四平网站制作网站的二级网页关键词
  • 买手表网站深圳网站软件网站建设
  • 无锡做网站365caiyi最新做做网站
  • 有机农产品网站开发方案网站关键词设置数量
  • 网站建设团队与分工搭建网站有哪些
  • 网站建设 报价单 doc遵义网络推广软文
  • 三亚网站建设公司前端招聘去哪个网站
  • 建设银行鹤岗分行网站企业解决单身问题方案
  • 网站建设目的功能绿色学校网站模板
  • 私人定制平台网站网络安全公司有哪些
  • 佛山网站制作建设做期货都看哪个网站
  • 网站后台模版dw软件怎么下载
  • 杭州网站设计手机常用网站建设软件有哪些
  • 旅游网站建设课程设计报告北京市建设工程质监站网站
  • 网站301重定向WordPress手动切换主题
  • 网站建设上如何提高市场竞争力建设网站需要什么
  • 网站模板下载软件网站录屏可以做证据吗
  • 网站企业案例广东官网建设公司
  • 宜春网站建设公司联系方式工作组赴福建莆田
  • 怎么给自己网站做搜索框制作企业网站的报告
  • 购物商城网站开发网站服务流程
  • 小程序源码1200套邯郸整站优化
  • 网站被k了怎么办东莞市建设工程网站
  • 潍坊网站建设哪家好crm永久免费