0

询问您对此的建议:

我正在尝试创建 db 精简版,第一次使用默认 dbName (ProjectName.dbContextName) 成功。但我决定定义我自己的名字,并在 app.config 的 connectionString 部分添加我的连接字符串。未创建 db 之后。从这里MSDN 按照惯例首先使用代码连接我已经完成了类似的连接字符串:

 <connectionStrings>
    <add name="TestContext"
         providerName="System.Data.SqlServerCe.4.0"
         connectionString="Data Source=TestDb.sdf;"/>
  </connectionStrings>

(部分名称等于我的 dbcontext 的名称类。)只是要确保在创建 dbContext 之前:

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

数据库仍未创建。我究竟做错了什么?提前致谢。

VahidN,我尝试添加基类构造函数的调用,但不起作用。不明白。这应该很容易。正如上面参考文献中提到的,如果配置部分中的连接字符串的名称和名称 dbContext 类相等 - 对象可以毫无问题地找到它的连接字符串。

好吧,调试器说 conString 定义正确(等于配置部分中的字符串),但实际上没有创建 db - 我在 appfolder 和 sql server 文件夹中都找不到它。

4

2 回答 2

0

您需要在连接字符串的名称中包含完整的命名空间。见这里

像这样的东西

<connectionStrings>
    <add name="YourNameSpace.TestContext"
         providerName="System.Data.SqlServerCe.4.0"
         connectionString="Data Source=TestDb.sdf;"/>
</connectionStrings>
于 2014-03-03T09:36:52.703 回答
-1

哦,对不起,我提供的信息不足,没有创建 db,因为 dbContext 中的实体被定义为 List,而不是 dbSet。疏忽(

于 2014-03-03T17:35:22.817 回答