有没有办法在自动实现的属性中设置setter/getter的断点?
int Counter { get; set; }
Run Code Online (Sandbox Code Playgroud)
除了将其更改为标准属性(我这样做,但要做到这一点,我必须更改并重新编译整个项目)
我有一个用户模型,其中包含两个[NotMapped]字符串属性Password和ConfirmPassword.这些是未映射的,因为我将密码保存为字节数组(在salting之后),因此在用户模型中有两个额外的属性(映射)InternalPassword和Salt.
问题是当我使用用户模型更改密码时,实体框架抛出DBEntityValidation错误,指出"需要密码属性".我在这里理解的是,EF正在尝试在保存之前验证我的模型,并且由于未设置Password/ConfirmPassword,因此抛出此错误.这提出了以下问题:
1)如果属性密码被明确表示为[NotMapped],为什么EF在保存期间验证它?2)如果EF在保存期间执行验证,并且在绑定期间也执行相同的操作(控制器操作方法中的IE),它是否会影响性能?(验证两次)3)解决此错误的推荐方法是什么?(如果我将Password属性显式设置为虚拟值,则错误消失.)
编辑:我删除了代码,因为它很长,可能是没有答案的原因.如果有人想看看,我可以在下面添加.