你的位置:首页 > 软件开发 > ASP.net > EF架构~充血模型设置不被持久化的属性

EF架构~充血模型设置不被持久化的属性

发布时间:2015-10-23 13:44:09
回到目录在Poco实体中,一般只有属性没有方法,这在软件设计中称为贫血模型,而在DDD领域驱动设计中,比较提倡充血模型,即你的Poco实体中,即有属性,也有操作属性的方法,注意这里说的是操作属性的方法,你的具体业务方法不要写在这里!而在实际项目中,我们可以有这样的需求,一个注册用 ...

回到目录

在Poco实体中,一般只有属性没有方法,这在软件设计中称为贫血模型,而在DDD领域驱动设计中,比较提倡充血模型,即你的Poco实体中,即有属性,也有操作属性的方法,注意这里说的是操作属性的方法,你的具体业务方法不要写在这里

而在实际项目中,我们可以有这样的需求,一个注册用户业务,它有密码和确认密码,这个确认密码不需要存储到数据表里,即不需要被持久化,这时,我们想到的就是为它加NonSerialized特性,而在使用过程中我们发现,这个特性只针对字段而言,而我们的实体中推荐使用属性的方式,所以我们需要寻找其它解决方案。

EF架构~充血模型设置不被持久化的属性word { get; set; } [DisplayName("确认密码"), NotMapped] public virtual string TruePassword { get; set; } #region 充血模型的方法 /// <summary> /// 生成MD5密码 /// </summary> /// <returns></returns> public string Md5Password() { return Lind.DDD.Commons.Encryptor.Utility.EncryptString(Password, Commons.Encryptor.Utility.EncryptorType.MD5); } /// <summary> /// 密码和确认密码的比较 /// </summary> /// <returns></returns> public bool Password_TruePassword() { return this.Password.Equals(this.TruePassword, StringComparison.CurrentCulture); } #endregion }

原标题:EF架构~充血模型设置不被持久化的属性

关键词:架构

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。