.net原生态的ORM工具就是VS.net自带的工具,主要有entity frameworks和linq to sql,前者支持database first,model first和code first,这三种生产模块主要说明如下:
database first:数据库优先,即先设计数据库,再生成实体对象
model first:模型优先,先设计实体模型,再自动生成数据库
code first:代码优先,先手动写实体类和实体关系,然后自动生成数据库,这种方式比较适合小型项目,尤其是敏捷开发
而linq to sql只支持database first,即先有数据库,再根据数据库生成实体模块和实体类
以下看一下两种ORM工具设计的架构图:
LINQ TO SQL
而entity frameworks可能只有一些实体类,而没有具体的模型文件
事实上,无论是采用哪种ORM架构,它要实现的功能是一样的,那就是提供实体对象,再配合linq,方便进行数据查询,在entity frameworks项目中,我将Data层的数据操作接口与数据操作具体实现进行了分离,如图:
它配合entity frameworks提供的与数据库一致的实体对象,来实现具体的增,删,改,查等操作。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:你必须要知道的架构知识~第六章 .NET原生态的ORM软件对比,如需转载请自行联系原博主。