您的位置:首页 > 移动开发

不用EF框架,完成完美实体映射,且便于维护!(AutoMapper,petapoco)

2017-07-07 15:30 639 查看

最近,需要搭建一个新项目,在需求分析时确定数据库中需要创建多个存储过程。所以如果还是用原来EF框架生成ADO.net实体模型的话,不利于修改。

      主要是解决以下两个问题:

      1、比如前端需要一个值,如果存储过程没有返回,那么在修改存储过程后就得更新实体。很麻烦。

      2、前端所需数据类型和返回数据类型不同时直接能映射不需要循环处理。

 

下面做一个简单的用法介绍(以机场数据为例):

第一个问题:

      1、首先用petapoco链接数据库

           下载链接:http://pan.baidu.com/s/1dFEfzSd

           将文件下载后放在一个文件夹中,然后再这个文件夹中创建一个类文件用于创建与数据链接的桥梁。

1 using IBLL;
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 using System.Threading.Tasks;
6 using AutoMapper;
7 using BLL.AutoMapper;
8 using IBLL.Dto;
9 using Entity.Models;
10
11 namespace BLL
12 {
13     public class BLLAirport : IAirport
14     {
15         //获取所有机场
16         public List<AirportDto> GetALLAirpotsList()
17         {
18             var listAirport = AirportEntity.Db.Fetch<Entity.Airport>("select * from Airports);
19             return listAirport.MapToList<AirportDto>();
20
21         }
22     }
23 }
View Code

       至此数据结果已经转换。两个问题也解决。当然项目结构不是完整的,大家应该看得懂的。具体的文件位置可根据自己的项目结构进行调整。

       这仅仅是我在项目中遇到时解决的办法,有什么问题或者有其他的办法请大家多多指教。谢谢!

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: