我有一个需要检查数据库的验证器。例如,它需要检查用户是否具有相同的电子邮件地址或类似的东西。
我的问题是,如何将活动的 DB 上下文传递给验证器以节省创建新的上下文?
还是我错过了重点?
额外的开放数据库上下文无关紧要吗?
我有一个需要检查数据库的验证器。例如,它需要检查用户是否具有相同的电子邮件地址或类似的东西。
我的问题是,如何将活动的 DB 上下文传递给验证器以节省创建新的上下文?
还是我错过了重点?
额外的开放数据库上下文无关紧要吗?
这个问题问得好!我一直想知道自己的一个。我发现这个答案非常好:
额外的开放数据库上下文无关紧要吗?
如果您查看 MVC 应用程序的任何自动生成的控制器代码,您会注意到每个控制器总是如何实例化另一个 DBContext 对象。我个人理解这一点,原则上拥有几个活跃的上下文不是问题。就个人而言,我宁愿创建另一个 DBContext 实例,也不愿通过将代码发送到方法来使代码复杂化,并且必须跟踪何时保存更改,以及受 savechange 操作影响的内容(在链接中讨论)。另一方面,我不会为循环的每次迭代实例化新的 DBContexts,也不会在任何其他会堆积相当小的开销的情况下实例化。
希望这可以帮助。