1

即时通讯新的mvc和即时通讯首先尝试一些东西的代码。即时通讯我的dbase的问题,每当我建立我的应用程序的构建完成成功,但我没有看到我的dbase得到创建时,只要我检查我的本地服务器。想知道我的连接字符串是否有什么缺失。mvc连接字符串代码优先

<connectionStrings> 
<add name="mydbase" connectionString="Data Source=localhost;Database=mydbase;Trusted_Connection=yes;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

或者我应该看看全局文件?我刚刚为种子添加了一个初始化程序,没有其他的,我没有看到任何原因,为什么会搞砸了......

在此先感谢!

回答

1

数据库在您使用与之相关的上下文之前未提交。

例如,在一个测试项目,我打电话给我的初始化

Database.SetInitializer<TestContext>(new TestContextInitializer()); 

,然后使用的上下文对某些任务即

_testContext = new TestContext(); 
var stuff = from te in _testContext.TestTable select te; 

它在这一点上创建的数据库。

+0

你的意思是我需要从表中调用至少一个字段? 我在我的视图中做了这样的<%:model.FirstName%>,它给了我一个null参考。 是的,我有我的global.asax我使用断点检查相同的初始化器,它似乎应用程序运行它在调试模式.. – gdubs 2011-05-24 14:26:00

+0

从我所看到的,你需要使用上下文之前的某种方式魔术发生。在我的测试项目中,db是在执行linq语句之后创建的。 – 2011-05-24 14:28:52

+0

好吧,你是对的,我只是执行了EF代码,然后创建了数据库。现在我想知道为什么我看不到我的管理工作室的数据库。我刚才看到web dev express正在将数据库创建到MSSQL_EXPRESS文件夹,该文件夹与管理工作室正在查看的MSSQL10_50文件夹的同一级别上。有没有一种方法可以将开发人员快速指向管理工作室正在查看的文件夹?没关系,你已经回答了我的问题。 :d – gdubs 2011-05-24 15:17:30

0

通常,在运行应用程序时创建数据库,而不是在创建时创建数据库。您可以查看关于不同数据库初始化选项的following blog postAlwaysRecreateDatabase,CreateDatabaseOnlyIfNotExists,RecreateDatabaseIfModelChanges)。

+0

是的,我确实在检查dbase之前等待它运行。我甚至尝试在确保运行的同时运行调试。 – gdubs 2011-05-24 14:23:23

相关问题