【发布时间】:2020-12-07 14:23:03
【问题描述】:
我刚刚开始使用 DDD 并实施洋葱架构。
我正在制作一个邀请系统,超级用户可以通过电子邮件邀请另一个用户到他的公司。但是,在创建邀请时,我想确保系统中尚未创建用户。我想通过检查该电子邮件的数据库中是否有任何记录来做到这一点。我正在使用实体框架来处理数据库上下文。
我已经为 Invitation 和 UserAccount 创建了一个存储库,其中包含基于 Id 查找项目的方法。
我需要使用 DB 上下文来查看邀请是否仍然有效,但由于该方法是在域层中声明的,所以在不破坏设计模式的情况下,我真的不知道该怎么做。域层不应该知道任何关于持久层的事情。
我想过注入 IUserAccountRepository 然后执行所需的方法以完成 Accept() 方法,但我担心这是错误的。
【问题讨论】:
-
DeriveAccount必须如果因为用户已经存在而无法创建帐户,则抛出异常。你真的需要另一个冗余的、不可靠的检查吗?
标签: c# entity-framework design-patterns domain-driven-design onion-architecture