我尝试制作一个简单的Web应用程序。用户很少(一两个)。无需复杂的会员资格。我只需要基本的登录过程。我使用Visual Studio 2013
我在互联网上做了一些研究,发现了一些关于ASP.NET身份的东西。但是我找不到任何关于如何将Identity表安装到我自己的mssql数据库的信息。
之前我使用过ASP.NET成员资格,使用aspnet_regsql.exe并在web.config中添加一些代码很容易安装表格
但现在我真的很困惑身份的东西。它使用默认数据库来存储用户。但是在我的服务器中会有我的sql数据库存储我的数据和用户数据。
如何将这两个数据库合二为一?如何将Identity表安装到我自己的数据库并配置我的Project以使用它?
答案 0 :(得分:1)
听起来您只希望Identity表使用与应用程序其余部分相同的数据库。如果您在Visual Studio 2013中使用新的Identity项目,它应该使用Entity Framework,这可以显着简化事情。
您应该能够通过确保身份代码使用与您自己的数据库上下文相同的连接字符串来实现此目的。如果您将Web.config中的“DefaultConnection”字符串更改为指向您自己的数据库,Entity Framework将负责其余的工作。
如果删除了“DefaultConnection”连接,则可以将IdentityModels.cs中使用的字符串(在项目的Models文件夹中)更改为自定义字符串。寻找:
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
并更改base()中的字符串。
同样,实体框架的神奇之处在于它会自动创建所需的表和关系,而无需您自己构建它们。当有多个上下文时,EF6也非常适合处理版本控制,所以除非你摆脱了__MigrationHistory表,否则你不应该得到任何“模型改变”的错误。
答案 1 :(得分:0)
你应该使用Entity Framework,你可以采用不同的方法,比如代码优先,Model First DB First。
这将为您提供更轻松的流程。
这是一些很好的链接。