【发布时间】:2013-08-03 11:45:45
【问题描述】:
EF 6 是否允许在我的实体中进行依赖注入?以下是所需内容的示例。
class User
{
private IPasswordEncryptor _passwordEncryptor;
public User(IPasswordEncryptor passwordEncryptor)
{
_passwordEncryptor = passwordEncryptor;
}
...
}
所以,我需要找到一种方法将 IPasswordEncryptor 注入到实体框架中的用户中。这是一个普遍的问题,我只是在上面提供了一个示例。
【问题讨论】:
-
您可能需要重新考虑这一点。见thinkbeforecoding.com/post/2009/03/04/…
-
实体作为任何其他对象可能具有外部依赖关系。这只是 OOP。在我看来,像 EF 这样的给定框架不应该成为排除实体依赖项的障碍。例如,NHibernate 允许注入依赖项。上面的例子是一个很好的例子,为什么需要这种依赖。用户负责管理密码。但是,用户并不关心加密是如何实现的以及选择什么算法。因此它依赖于 IPasswordEncryptor。
-
有没有找到解决办法 Markus?我有一个很好的用例。
标签: entity-framework orm domain-driven-design