背景
我有一个现有项目,它是连接到本地 SQL Server Express 12 数据库的数据访问层。
我现在想在使用此数据库的同一解决方案中创建一个新的 ASP.NET Core 项目。我还想使用内置的用户身份验证,并将相关表添加到该数据库中。
我做了什么
我已成功创建 ASP.NET Core 项目,但它指向新创建的 (localdb)MSSQLLocalDB 而不是我的 SQL Server Express 数据库。我将 appsettings.json 中的连接字符串更改为:
"DefaultConnection": {
"ConnectionString": "Server=MAIN-DESKTOP\\SQLEXPRESS;Database=ArbitrageSearch;Trusted_Connection=True;MultipleActiveResultSets=true"
}
我预计它会抱怨缺少表,但实际上应用程序继续访问(localdb)MSSQLLocalDB。
问题
如何指向现有的 SQL Express 数据库,然后如何初始化支持用户身份验证所需的表?
如果核心应用程序和 SQL Express 数据库位于同一服务器上,您需要将连接字符串更改为:
.\SQLExpress
。这将自动定位本地主机。
这将指示 Express SQL 实例。
"ConnectionStrings": {
"DefaultConnection": "Server=.\\SQLExpress;Database=netCore.Project;Trusted_Connection=True;MultipleActiveResultSets=true"
},
请注意 // 是必需的。之后
update-database
PM控制台
对我来说最简单的方法是在 Visual Studio 中显示 SQL Server 对象资源管理器,可能将服务器添加到列表中,右键单击所需的数据库,选择“属性”,复制属性“连接字符串”并在appsettings.json 文件。