如何将活动的DB上下文传递给实体框架验证器

本文关键字:实体 框架 验证 上下文 活动 DB | 更新日期: 2023-09-27 18:29:21

我有一个验证器,需要检查数据库。例如,它需要检查用户是否有相同的电子邮件地址或类似的东西。

我的问题是,如何将活动的DB上下文传递到验证器中,以避免创建新的验证器?

还是我没有抓住要点?

额外的开放数据库上下文无关紧要吗?

如何将活动的DB上下文传递给实体框架验证器

这是一个非常好的问题!我一直在想我自己。我发现这个答案非常好:

每个web请求一个DbContext。。。为什么?

额外的开放数据库上下文无关紧要吗?

如果您查看MVC应用程序的任何自动生成的控制器代码,您会注意到每个控制器总是实例化另一个DBContext对象。我个人理解这一点,原则上有几个活跃的背景不是问题。就我个人而言,我宁愿创建另一个DBContext实例,也不愿通过将它们发送到方法来使代码复杂化,并且必须跟踪何时保存更改,以及savechange操作会影响什么(在链接中谈到)。另一方面,我不会为循环的每次迭代实例化新的DBContexts,也不会为任何其他开销较小的情况实例化。

希望这能有所帮助。