我的解决方案中有两个项目:
两个项目都配置为连接到SQL Server,并且在app/web.config
中定义了相同的连接字符串:
<add name="AppContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=localhost\SQLEXPRESS;Database=XYZAC;Integrated Security=True" />
只有控制台应用才会出现此问题。 Web应用程序正确创建XYZAC
数据库。但是,控制台应用程序会创建一个名称与Namespace.AppContext
一致的数据库,这根本不是我需要的。因此,这些项目之间没有沟通。
我尝试在控制台应用的连接字符串中将Database=
更改为Initial Catalog=
,但它没有改变任何内容。
这可能是什么原因?是否会发生这种情况,因为API是通过IIS APPPOOL\XYZAC
用户和应用程序WINSRV\Administrator
登录的?似乎不太可能,因为两者都有相同的权限组和访问所有内容,但我不确定还有什么可能是原因。
我在这里做错了什么?
编辑:我正在这两个项目之间共享数据库模型。我将尝试将连接字符串硬编码到构造函数中。
答案 0 :(得分:0)
尝试从创建的xyz数据库到控制台应用程序的脚手架,看看它是否与脚手架上下文连接。
答案 1 :(得分:0)
对这样的字符串进行硬编码解决了这个问题:
public AppContext() : base("Sql n stuff;XYZAC")
冷却。只要它有效,对吧?