繁体   English   中英

实体框架创建名称错误的数据库

[英]Entity Framework creates a database with a wrong name

我的解决方案中有两个项目:

  • 带有EF的ASP.NET Web API项目
  • 带有EF的控制台应用程序

两个项目都配置为连接到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登录,会发生这种情况吗? 似乎不太可能,因为两者具有几乎相同的权限组并可以访问所有内容,但是我不确定还有其他原因。

我在这里做错了什么?

编辑 :我正在这两个项目之间共享数据库模型。 我将尝试将连接字符串硬编码到构造函数中。

尝试从创建的xyz数据库到控制台应用程序的脚手架,看看它是否与脚手架上下文连接。

像这样硬编码相同的字符串可以解决问题:

public AppContext() : base("Sql n stuff;XYZAC")

凉。 只要有效,对不对?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM