2011-12-06 114 views
7

基本上我使用实体框架代码优先技术。我写的代码作品。但是,我无法在SQL Server Management Studio中找到新创建的数据库。它在哪里?我应该使用什么IDE来查看新创建的数据库和表。 我跑没有问题以下代码: IsoLocationContext分贝=新IsoLocationContext();无法找到新的Code First实体框架数据库

Address address = new Address(); 

    address.TrackingNumber = "123"; 

    db.Addresses.Add(address); 
    db.SaveChanges(); 

但是,我似乎无法找到数据库和表。我曾尝试刷新数据库列表。
我加入以下行,以确保公正的数据实际上是要在数据库中。

IList<Address> addresses = db.Addresses.ToList(); 

上述处理也适用。 我也停了下来,启动了服务器并重启了整个机器。只是为了确保数据没有被存储在内存中。一切按预期工作。 我还在运行应用程序时针对服务器运行了Profiler,并且在跟踪中看到没有条目。

请告诉我,我错过了什么。这真让我抓狂。

而且我使用SQL Server 2008 R2的开发者/客户端版本。

回答

11

试着看一下你的连接字符串这样的:

((IObjectContextAdapter)db).ObjectContext.Connection.ConnectionString 
+0

感谢那些向我指出了正确的方向。 它正在写入SQL Express。我真的不认为我的机器上有SQL Express。但是,我想我的VS 2010安装它。 另一件奇怪的事情是,我确实指定了一个不是SQL Express的连接字符串。我猜Code First会忽略连接字符串。 你帮我解决了我的问题,现在我必须弄清楚如何让应用程序写入我想要的数据库。 – Richard

+1

当你创建你的DbContext类时,你可以在你的基类构造函数中指定一个连接字符串。像'公共类MyDbContext:的DbContext {公共MyDbContext():基础( “数据源= myServerAddress;初始目录= MYDATABASE;集成安全性= SSPI;”){}}' –

+0

真棒,用于顶端 – Richard

相关问题