ibcadmin 发表于 2013-5-13 18:08:06

C#三层架构之数据访问层【图文教程】

数据访问层仅仅负责管理数据库与业务逻辑层之间的通讯,不负责业务逻辑。
技术上我们采用Entity Framework ,它是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。
Entity Framework的主要特点:
1. 支持多种数据库(Microsoft SQL Server, Oracle, and MySQL);
2. 能很好地支持表,视图和存储过程;
3. 提供Visual Studio集成工具,进行可视化操作;
创建ADO.NET 实体数据模型项目在项目上点击右键,添加->新建项
http://images.cnitblog.com/blog/472896/201305/09082352-02683edd70184ad48c0831aea1813ee1.png
选择"ADO.NET 实体数据模型"
http://images.cnitblog.com/blog/472896/201305/09082354-292530411cbd49708e7cfbf12f0b1c39.png
从数据库生成,新建连接,选择数据源
http://images.cnitblog.com/blog/472896/201305/09082359-cfaf7961b37c4a4f9b64c6648194e049.png
填写连接需要的数据库信息后,点击下一步
http://images.cnitblog.com/blog/472896/201305/09082400-62c5b27957fb4e50a8cf89c171ac8d12.png
注意:只选择"在模型中加入外键列"
http://images.cnitblog.com/blog/472896/201305/09082400-4ad3143803ed4cc1a2c20e43a896604f.png
可以看到新生成了两个文件"App.Config"和"Model1.edmx":
"App.Config"里面是数据库连接字符串
"Model1.edmx" 里面是数据实体类和访问数据库的上下文
http://images.cnitblog.com/blog/472896/201305/09082401-de3bd0f164a947fcb5aaecbc4e04341c.png
注意:Model1.edmx文件是Entity Framework自动生成的,不做修改,因为每次更新会覆盖。

修改ADO.NET 实体数据模型项目每次修改实体模型的时候,都全选(ctrl+A)并删掉所有实体,然后在Model1.edmx文件空白处上点击右键,选"从数据库更新模型"
http://images.cnitblog.com/blog/472896/201305/09082401-2031ddd023ac442096243a9d9afadcc2.png
选择需要的表和视图,点击完成即可。
http://images.cnitblog.com/blog/472896/201305/09082402-88e3c9a173b144cc9a6462dae5e72bb0.png
分析总结我们将系统需要的基础类放在"Framework"文件夹中,所有的实体数据都需要继承IBaseEntity接口,所有的数据库表操作都需要继承BaseRepository抽象类,所有视图操作都需要继承BaseViewRepository抽象类
下面我们以SysException单表的增删改为例,进行介绍:
这里使用了分部类(partial class)对实体数据SysException进行扩展,加入自定义的属性,使用SysExceptionMetadata类对SysException进行数据验证,以保障数据的完整性和正确性。
数据访问层中的SysExceptionRepository执行数据库中的增删改查操作。

chao2332601 发表于 2013-6-16 03:25:00

谢谢分享!!!

心镜先生 发表于 2013-11-28 13:20:15

谢谢分享

Jan 发表于 2014-1-14 16:53:13

:)

Loyalty 发表于 2017-7-10 13:19:16

谢谢分享!
页: [1]
查看完整版本: C#三层架构之数据访问层【图文教程】