相关疑难解决方法(0)

调试自动属性

有没有办法在自动实现的属性中设置setter/getter的断点?

int Counter { get; set; }
Run Code Online (Sandbox Code Playgroud)

除了将其更改为标准属性(我这样做,但要做到这一点,我必须更改并重新编译整个项目)

c# properties breakpoints visual-studio

122
推荐指数
4
解决办法
2万
查看次数

如何防止EF验证在DBContext.SaveChanges()期间未映射的属性

我有一个用户模型,其中包含两个[NotMapped]字符串属性Password和ConfirmPassword.这些是未映射的,因为我将密码保存为字节数组(在salting之后),因此在用户模型中有两个额外的属性(映射)InternalPassword和Salt.

问题是当我使用用户模型更改密码时,实体框架抛出DBEntityValidation错误,指出"需要密码属性".我在这里理解的是,EF正在尝试在保存之前验证我的模型,并且由于未设置Password/ConfirmPassword,因此抛出此错误.这提出了以下问题:

1)如果属性密码被明确表示为[NotMapped],为什么EF在保存期间验证它?2)如果EF在保存期间执行验证,并且在绑定期间也执行相同的操作(控制器操作方法中的IE),它是否会影响性能?(验证两次)3)解决此错误的推荐方法是什么?(如果我将Password属性显式设置为虚拟值,则错误消失.)

编辑:我删除了代码,因为它很长,可能是没有答案的原因.如果有人想看看,我可以在下面添加.

c# entity-framework-4.1 asp.net-mvc-3

6
推荐指数
1
解决办法
6647
查看次数