我创建了一个获取某些数据并存储到数据库中的服务。 在获取数据或存储数据时,我可以看到数据正确存储但我无法在任何地方看到数据库。
我的连接字符串和上下文如下
public class Context: DbContext
{
public DBContext() : base("name=DBConnectionString")
{
public DbSet<IEmployee> Employees {get; set;}
}
}
<connectionStrings>
<add name="DBConnectionString"
connectionString="Data Source=(localdb)\v11.0;Initial Catalog=SLDB;Integrated Security=true"
providerName="System.Data.SqlClient"/>
</connectionStrings>
DB没有出现在SQL Server对象资源管理器中,我也无法在物理文件系统上找到它。
我已经查看了物理/ mdf文件的以下位置
当我使用'(localdb)/v11.0'连接到服务器时,它只显示系统数据库,而不是我的,SLDB。
任何想法如何在SSMS或Windows资源管理器中查看数据库
答案 0 :(得分:1)
将AttachDbFilename=c:\path\todb\SLDB.mdf
添加到包含EF上下文/模型等的项目的连接字符串和应用程序本身。
您还可以在连接字符串中使用应用程序域属性|TheVariable|
然后在你的Configuration.cs
EF类模块构造函数中:
public Configuration()
{
AppDomain.CurrentDomain.SetData("TheVariable", @"c:\path\todb"); //or something dynamic...
}
在启动应用程序时执行相同操作,然后就可以这样做:
AttachDbFilename=|TheVariable|\SLDB.mdf
再次执行Update-database
,MDF文件将位于连接字符串中指定的路径。
如果此时数据库未出现在SQL Management Studio中,请右键单击Database
节点并手动Attach
MDF。