C# ORM学习笔记:使用特性+反射实现简单ORM(cctv5体育节目表)

网友投稿 295 2022-06-25


一、原理与环境

在生成数据表的实体类时,利用自定义特性,给它打上表及字段的特性,然后使用反射原理,将自定义特性拼接成增、删、改、查对应的SQL,即可完成一个简单的ORM。

本示例的执行环境:

1)数据库:SQL Server。(可根据自己的需要,建立不同的数据库工厂。)

2)数据表:需使用自增类型(identity)作为数据表的主键。主键名字可以随便起,如ID。

3)实体类:实体类需提供无参构造函数。

二、演示数据表

Person表,包含主键(ID)、姓名(Name)、年龄(Age)、性别(Gender)。

二、自定义特性

定义两个自定义特性:

2.1、DataTableAttribute

此为数据表特性,包含表名(TableName)、主键(Key)。

2.2、DataFieldAttribute

此为字段特性,包含字段名(FieldName)、字段类型(FieldType)、长度(Length)、是否自增(IsIdentity)。

三、生成实体类

3.1、实体类样式

依照前面的规划,Person表需要生成下面这个样子:

3.2、使用T4模板生成实体类

3.2.1、T4Code文件夹的文本模板

DBSchema.ttinclude主要实现了数据库工厂的功能。注:请将数据库连接字符串改成您自己的。

MultiDocument.ttinclude主要实现了多文档的功能。

3.2.2、生成实体类的文本模板


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:dotnet 部署 github 的 Action 进行持续集成(dotnetfx40是什么软件)
下一篇:用long类型让我出了次生产事故,写代码还是要小心点
相关文章

 发表评论

暂时没有评论,来抢沙发吧~