询问您的建议:
我正在尝试创建db compact edition, 第一次成功使用默认的dbName(ProjectName.dbContextName)。 但我决定定义自己的名字,并在connectionString中的app.config中添加我的连接字符串。 db之后没有创建。 从这里MSDN Use code first with connection by convention我已经完成了类似的连接字符串:
<connectionStrings>
<add name="TestContext"
providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=TestDb.sdf;"/>
</connectionStrings>
(部分名称等于我的dbcontext的名称类。) 只是为了确保在创建dbContext之前:
Database.SetInitializer(new DropCreateDatabaseAlways<TestContext>());
仍未创建Db。我究竟做错了什么?提前谢谢。
VahidN,我试图添加基类构造函数的调用,但不起作用。不明白。应该很容易。如上面的参考文献中所述,如果config部分和名称dbContext类中的连接字符串的名称相等 - 对象找到其连接字符串没有问题。
好吧,调试器说conString是正确定义的(等于config部分中的字符串),但实际上没有创建db - 我找不到它,也不能在appfolder中找到它,也不能在sql server文件夹中找到它。
答案 0 :(得分:0)
您需要在连接字符串的名称中包含完整的命名空间。请参阅here。
像这样的东西
<connectionStrings>
<add name="YourNameSpace.TestContext"
providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=TestDb.sdf;"/>
</connectionStrings>
答案 1 :(得分:-1)
哦,对不起我提供的信息不足,没有创建db,导致dbContext中的实体被定义为List,而不是dbSet。无意中(