Entity 的 Model类型该怎么转化
Entity 的 Model类型该如何转化?
如上代码。原本的程序架构为:
DAL
BLL
Model
Web
后来考虑使用ORM,在DAL中增加了一个EF。为了合理的分层,希望EF只负责数据库的增删改查,得到的结果转成Model层中对应的类,我现在的做法感觉是脱裤子放屁,太罗嗦,可是如果不这么做,那么EF就即充当了Model,又充当了DAL。感觉不合理。
能不能做到将EF得到的类(数据库表结果)EasyFastCMS_UserGroup 转化成 Model层中的UserGroup.cs类。当然如果能实现
List<EasyFastCMS_UserGroup> 转化成 List<UserGroup> 那就最好不过了。
求助解决办法。
------解决方案--------------------
用
List<UserGroup> list=(form 变量 in 数据源
where 条件
select new UserGroup{
ID = 数据源.ID;
GroupName = 数据源.GroupName
}).ToList();
- C# code
//DAL层 public EasyFastCMS.Model.UserGroup GetModel(int ID) { Model.UserGroup model = new Model.UserGroup(); using (var edm = new EasyFastCMSEntities()) { var query = edm.EasyFastCMS_UserGroup.Where(ug => ug.ID == ID); foreach (EasyFastCMS_UserGroup ug in query) { model.ID = ug.ID; model.GroupName = ug.GroupName; } } return model; } //BLL层 private readonly SQLServerDAL.UserGroup dal = new SQLServerDAL.UserGroup(); public Model.UserGroup GetModel(int id) { return dal.GetModel(id); } //Web层 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadInfo(); } } private void LoadInfo() { BLL.UserGroup bll = new BLL.UserGroup(); Model.UserGroup model = bll.GetModel(Convert.ToInt32(Request.QueryString["id"])); this.Admin_Users_UserGroup_UserGroupUpDate_ltlID.Text = model.ID.ToString(); this.Admin_Users_UserGroup_UserGroupUpDate_txtGroupName.Text=model.GroupName; this.Admin_Users_UserGroup_UserGroupUpDate_txtGroupIntro.Text=model.GroupIntro; this.Admin_Users_UserGroup_UserGroupUpDate_txtOrderID.Text = model.OrderID.ToString(); ViewState["model"] = model; }
如上代码。原本的程序架构为:
DAL
BLL
Model
Web
后来考虑使用ORM,在DAL中增加了一个EF。为了合理的分层,希望EF只负责数据库的增删改查,得到的结果转成Model层中对应的类,我现在的做法感觉是脱裤子放屁,太罗嗦,可是如果不这么做,那么EF就即充当了Model,又充当了DAL。感觉不合理。
能不能做到将EF得到的类(数据库表结果)EasyFastCMS_UserGroup 转化成 Model层中的UserGroup.cs类。当然如果能实现
List<EasyFastCMS_UserGroup> 转化成 List<UserGroup> 那就最好不过了。
求助解决办法。
------解决方案--------------------
用
List<UserGroup> list=(form 变量 in 数据源
where 条件
select new UserGroup{
ID = 数据源.ID;
GroupName = 数据源.GroupName
}).ToList();