假设我有一个包含一大堆字段的表和一个为其生成的 EF 实体。假设我想为这个实体显示一个编辑表单,但是有一个不直接映射到表的额外字段。
所以我创建了一个模型类,它继承了我的实体类和我的字段。到现在为止还挺好。
问题是现在我必须在返回视图时将实体对象中的每个字段复制到模型对象,而在保存数据时则相反。当然有更清洁的方法来做到这一点?
具体示例是用户管理表单,额外字段是密码和确认密码字段,它们存储在 Membership 表中。
假设我有一个包含一大堆字段的表和一个为其生成的 EF 实体。假设我想为这个实体显示一个编辑表单,但是有一个不直接映射到表的额外字段。
所以我创建了一个模型类,它继承了我的实体类和我的字段。到现在为止还挺好。
问题是现在我必须在返回视图时将实体对象中的每个字段复制到模型对象,而在保存数据时则相反。当然有更清洁的方法来做到这一点?
具体示例是用户管理表单,额外字段是密码和确认密码字段,它们存储在 Membership 表中。
最好将用于在 UI 等应用程序层之间进行通信的数据传输对象与连接到存储的原始实体分开。是的,您需要来回复制字段,但有一些工具可以帮助您完成此任务,例如AutoMapper。
您可以制作 EF 实体partial
(我认为它们通常是默认的),然后将该字段添加到一个单独的文件中,该文件也具有partial class
该类的一个。这不像伊利亚的回答那样好,但很容易。