我目前正在学习 MVC3、EF4.1 并且非常喜欢 Code First 方法。
但是,我想使用生成的内置 .NET Memembership Provider 和 DB。
我无法解决的是我如何编码我的域以链接到成员(member)数据库,以及如何通过 EF 生成数据库。我可以运行适当的脚本来生成数据库,但是这不起作用,而且无论如何感觉都不对。
我不希望得到完整的答案,我真的需要指出一个教程的方向,该教程解释了如何实现这一点。
如果唯一的答案是实现我自己的 Membership Provider 那么好的,但同样 - 考虑到 MVC 附带一个开箱即用的实现,感觉像是很多不必要的工作?
问候,
韦恩
最佳答案
如果您的成员资格表与域表位于不同的数据库中,那么您不能在 EF 中使用单个 DbContext。您可以在这里做的是,您可以为每个数据库创建两个上下文,比如 SecurityContext 和 DomainContext。但是您将无法通过连接驻留在每个上下文中的实体进行查询,并且在更新数据库时,两个上下文将不会使用相同的事务(即不是单个工作单元)。
我建议您在数据库中而不是在两个数据库中创建这些成员资格表。然后您可以在此处使用单个 DbContext(如果它们完全独立,则可以使用事件 2)。在这里,如果您对所有表、列和关系进行了正确建模,则可以使用 EF 生成完整的数据库。但如果我没记错 SqlMembershipProvider 使用存储过程。如果是这样,您将在创建整个数据库时遇到一些麻烦。
如果您可以提供更多信息,则更容易提供更具体的解决方案。
关于asp.net - MVC3 + EF4.1 Code First 但使用 .NET Memebership - 嗯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207556/