gpt4 book ai didi

c# - 在单独的实体项目中实现 EF6 个人用户帐户

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:22 26 4
gpt4 key购买 nike

当使用 Individual Accounts 选项创建新的 EF6/MVC5 应用程序时,您会得到一个具有 IdentityModels.cs 的 Web 应用程序,其中包含 IdentityUserIdentityDbContext。我有一个单独的类库,我的所有实体都驻留其中,它没有到 Entity Framework 的实际链接,因为坦率地说,我认为他们不应该知道用于存储它们的技术。

其他实体引用 ApplicationUser 所以逻辑上我现在想将我的 ApplicationUser 类移动到 Entities 库但是因为它需要继承来自 IdentityUser 这意味着添加对 EF 的引用。这打乱了我最初将它们放在一个单独的库中的整个想法。

有没有人遇到过同样的问题和/或您会如何处理?

最佳答案

首先,实体永远不会引用 EF。他们只是类(class)。你的DbContext子类将它们缝合到 Entity Framework 中。二、ApplicationUser您的用户。它不是 Entity Framework 的一部分;它只是一个继承自 EF 模型的类 IdentityUser .如果那是你的问题,那么你只需要克服它。您不能完全抽象掉 Entity Framework,除非您停止使用 Entity Framework。否则,某处总会有一个引用。

因此,只需结合这两个上下文,您就可以使用 ApplicationUser在你的其他实体中,你只需要改变你的应用程序的上下文继承的类,从 DbContextIdentityDbContext<ApplicationUser> .然后,您可以删除 MVC 为您生成的类,当然是在 AccountsController 中将引用切换到应用程序的上下文之后。 .同样,这里继承自 IdentityDbContext 没有问题因为无论如何,上下文本质上与 Entity Framework 相关。

关于c# - 在单独的实体项目中实现 EF6 个人用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21939507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com