读书人

Entity 的 Model类型该怎么转化

发布时间: 2012-04-28 11:49:53 作者: rapoo

Entity 的 Model类型该如何转化?

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();

读书人网 >asp.net

热点推荐