背景: 以前学的Java进行开发,多用到Mybatis,Hiberante等ORM框架,最近需要上手一个C#的项目,由于不是特别难,也不想再去学习C#的ORM框架,所以就想着用反射简单的实现一下ORM框架的内容,简单的增删改查,没有用到多表之间的联系. 反射: Java和C#中的反射大体相同,主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义.我的理解就是可以程序运行时动态的获取对象的属性和方法,并且可以进行与之相…
1思路 根据java反射获取属性上的 注解的value的值 然后拼接成sql去执行 这就是完成了一个orm实体关系映射 package src.Test.Reflect;import java.lang.reflect.Field; @Table("table_teacher")class teacher{ @Propety(name = "student_id")//必须和数据库里的列表对应一样 private String studentId; @Propety…
最近一直在忙新公司的基础库建设,对系统架构.开发框架及快速开发平台的设计实施都积累了一定的实践经验. 一般的中小型的软件开发公司,如果按照技术储备来衡量软件项目的技术含量的评定依据是可行的.但如果光是按照人头来衡量软件的技术含量是不可靠的.所以我们在选择跳巢的时候是选择大公司还是选择有技术含量的公司要根据自己的职业规划来.(本人最近体会到的一点跳巢经验分享给大家) 由于我现有单位技术部门刚刚成立不久,需要一些基础的开发框架,ORM当然是跑不了的.在后面的文章中我将陆续写下我在建设基础框架中的一些…
注:没有找到出处,如有侵犯,请告知 开始ActiveAndroid神奇之旅: 在AndroidManifest.xml中我们需要添加这两个 AA_DB_NAME (数据库名称,这个name不能改,但是是可选的,如果不写的话 是默认的"Application.db"这个值) AA_DB_VERSION (数据库版本号,同样是可选的 – 默认为1) <manifest ...> <application android:name="com.activeandro…
 这一趴里面,我就来正式介绍一下CoffeeSQL的干货.    首先要给CoffeeSQL来个定位:最开始就是由于本人想要了解ORM框架内部的原理,所以就四处搜寻有关的博客与学习资料,就是在那个夏天,在博客园上看到了一位7tiny老哥的博客(https://www.cnblogs.com/7tiny/p/9575230.html),里面基本上包含了我所想要了解的全套内容.幸得7tiny老哥的博客和代码都写的非常清晰,所以没花多久时间就看完了源码并洞悉其中奥妙,于是自己就有个想法:在7tiny的…
导读:跳进了多租户切换数据库的坑,那么就继续走下去吧.在我们的项目中,是运用EF实现对数据库的操作,那么EF其实是.NET系统中,基于ORM框架的一个产品实现.在java那边,则有Hibernate和ibatis等具体实现.既然研究的是ORM的具体实现,那么还是很有必要介绍一下ORM的原理的.因为本人主要是基于EF研究,所以在描述过程中,均已EF开发作为实例. 一.ORM 1.1,概念 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R ma…
接上文我们测试了各个ORM框架的性能,大家可以很直观的看到各个ORM框架与原生的ADO.NET在境删改查的性能差异.这里和大家分享下我对ORM框架的理解及一些使用经验. ORM框架工作原理 典型ORM框架实现 EF功能最强的ORM EF与EFCore缺陷 ORM框架工作原理 所有的ORM框架的工作原理都离不开下面这张图,只是每个框架的实现程度不同但是最终的目的是相同的. 如果是一个ORM框架那么一定会有上图中蓝色部分的这几个元素,无论是增删改查对于ORM一定是以对象为起点,使用对象构造出LINQ…
ORM(Object Relational Mapping)框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中.只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中.当前ORM框架主要有四种:Hibernate(Nhibernate),iBATIS,mybatis,EclipseLink. ORM是通过使用描述对象和数据库之间映射的元数据,在我们想到描述的时候自然就想到了xml和特性(Attribute…
该教材主要是运用到泛型.反射和实体类扩展属性 步骤一.建立扩展属性类 实体类扩展属性要继承Attribute基类完成 [AttributeUsage(AttributeTargets.Property)] public class FieldAttribute : Attribute { /// <summary> ///是否为主键(true/false) /// </summary> public bool PropertyKey { get; set; } /// <su…
一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库表 (1)For MSSQL CREATE TABLE [dbo].[Posts] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY, [CategoryId] INT NOT NULL, ) NOT NULL, ) NOT NULL, [Published] DAT…