.NET 常用ORM之Gentle.Net

2023-10-28 01:50
文章标签 常用 net orm gentle

本文主要是介绍.NET 常用ORM之Gentle.Net,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       .Net常用的就是微软的EF框架和Nhibernate,这两个框架用的都比较多就不做详细介绍了,今天我们来看看Gentle.Net,Gentle.Net是一个开源的优秀O/R Mapping的对象持久化框架。Gentle.Net在配置和使用上要远比NHibernate简单很多。

       Gentle.Net可以说是比较容易上手,语法使用也相对简单,但Gentle.Net的使用要依赖一个东西,那就是代码生成器,因为这对于它来说,是最重要的一步了,这个代码生成使用起来也很方便,本文也会给大家来介绍这个代码生成器的使用。Gentle.Net的优点是配置和使用都比较方便,所有能很多程度的减低开发成本。

 

首先你要是使用Gentle.Net需要下载几个东西:

①. Gentle.Net文件包(其中包含dll文件、类文件生成器模板)

Gentle.Net-1.5.0 下载文件包介绍:

Build\

强名密钥文件,NDoc文档生成文件等

Configuration\

配置文件示例,App.config也修改为Web.config文件。

Contributions\

代码生成器的模板文件,装上代码生成器之后双击这些文件就可以使用。

Documentation\

Gentle.Net相关的说明文档。

Output\

Gentle.Net的生成dll文件。

Source\

Gentle.Net源代码。

②.MyGeneration或CodeSmith代码生成器

下载的文件度娘上有很多链接地址,在这里笔者就不放下载链接了。 

 

下面说说具体使用:

1.新建一个工程,在下载的 Gentle.Net文件包找到所需的dll添加到项目中

2.建一个测试数据库(下文将以下表作为测试数据表)

 3.根据下载文件包Gentle.NET 1.5.0\Configuration\App.config 配置web.config文件,如下:其中两处log4的配置的文件如果不需要可以不做添加,gentle配置节点下

<DefaultProvider name="SQLServer" connectionString="Data Source=127.0.0.1;Initial Catalog=Test;User ID=sa;Password=XXXXXXXX;" />数据库连接改成自己的即可,还有<Providers>节点中把所要使用的SQLServer配置打开,把其他的数据都注释掉,配置文件就OK了。

4.代码生成器生成gentle所需要的实体类,一下将以codesmith做介绍:

(1)下载安装.....;

(2)可以找到gentle文件的中的生成器模板 F:\XXX\GentleNet\Gentle-1.5.0\Gentle.NET 1.5.0\Contributions\CodeSmith\GentleBusinessObject.cst,安装好了生成器工具就是可以双击打开模板,最主要需要改的就是SourceTable,其他都可以不做改动;

4.2.1>选择数据源

4.2.2>

4.2.3>

4.2.4>这里要说的是MSSql需要选择SqlSchemaProvider里面可没有SQLServer的选项

4.2.5>到了这个页面就很熟悉了,就是配置并选择数据源信息

4.2.6>选择完之后,选择Generate

4.2.7>生成的类代码大概长这样

/// <summary>/// TODO add description of Userinfo here./// </summary>
    [Serializable][TableName("UserInfo")]public class Userinfo : Persistent{#region Private member data[TableColumn("ID", NotNull=true), PrimaryKey(AutoGenerated=true) ]protected int id;[TableColumn("Name", NotNull=true) ]protected string name = String.Empty;[TableColumn("Age", NotNull=true) ]protected int age;[TableColumn("Sex", NotNull=true) ]protected int sex;[TableColumn("Men", NotNull=true) ]protected int men;[TableColumn("Remark") ]protected string remark = String.Empty;#endregion#region Constructors/// <summary>/// Create  Userinfo from existing/full data set (used by the data layer)./// </summary>public Userinfo( int id, string name, int age, int sex, int men, string remark ) : base( true ) {this.id = id;this.name = name;this.age = age;this.sex = sex;this.men = men;this.remark = remark;}/// <summary>/// Select an existing Userinfo given its unique identifier/// </summary>static public Userinfo Retrieve( int id ){Key key = new Key( typeof(Userinfo), true, "id", id );return Broker.RetrieveInstance( typeof(Userinfo), key ) as Userinfo;}#endregion#region Public Properties///<summary> /// ID accesses the ID column of the UserInfo table.///  This is the Identity column for the Table. It can only be read.///</summary>public int ID {get{ return id; }}///<summary> /// Name accesses the Name column of the UserInfo table.///</summary>public string Name {get{ return name; }set{ name = value; }}///<summary> /// Age accesses the Age column of the UserInfo table.///</summary>public int Age {get{ return age; }set{ age = value; }}///<summary> /// Sex accesses the Sex column of the UserInfo table.///</summary>public int Sex {get{ return sex; }set{ sex = value; }}///<summary> /// Men accesses the Men column of the UserInfo table.///</summary>public int Men {get{ return men; }set{ men = value; }}///<summary> /// Remark accesses the Remark column of the UserInfo table.///</summary>public string Remark {get{ return remark; }set{ remark = value; }}
View Code

 

5.类文件生成完成,将类代码copy到项目中,就可以享用GentleNet的便利,记得项目文件得引用Gentle相关dll文件,否则实体会报错

 

6.代码简单调用测试

导入命名空间

using Gentle.Common;
using Gentle.Framework;
using Gentle.Provider.SQLServer;
using Model;
View Code

实际使用

 public ActionResult Index(){//1.新增//Userinfo modUser = new Userinfo(6, "Jojo", 22, 1, 1, "GentleNetTest");//Gentle.Framework.Broker.Insert(modUser);// 2.复杂查询[支持t-sql]string sql = "select * from UserInfo where name like '%himi%'";int s = Gentle.Framework.Broker.Execute(sql).Rows.Count;return View();}
View Code

看到测试数据的变好了嘛?本文只是对gentle的一个小试牛刀,当然这只是最基本的使用,还有更多更复杂的使用,具体的要根据实际业务来定,这里就不细说了。。。

 

 

 

 

 

转载于:https://www.cnblogs.com/become/p/8854820.html

这篇关于.NET 常用ORM之Gentle.Net的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/289880

相关文章

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

一文详解Java常用包有哪些

《一文详解Java常用包有哪些》包是Java语言提供的一种确保类名唯一性的机制,是类的一种组织和管理方式、是一组功能相似或相关的类或接口的集合,:本文主要介绍Java常用包有哪些的相关资料,需要的... 目录Java.langjava.utiljava.netjava.iojava.testjava.sql

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

C# 空值处理运算符??、?. 及其它常用符号

《C#空值处理运算符??、?.及其它常用符号》本文主要介绍了C#空值处理运算符??、?.及其它常用符号,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、核心运算符:直接解决空值问题1.??空合并运算符2.?.空条件运算符二、辅助运算符:扩展空值处理

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc