EF - Code First方法:未从app.config文件中选择连接字符串和初始化程序

时间:2015-11-24 08:53:41

标签: sql-server entity-framework entity-framework-6 app-config code-first

我有一个类库项目,我已经为Entity Framework创建了实体和上下文。我还创建了一个初始化程序,用于在数据库中为默认数据设定种子。

以下是类库项目的app.config文件 -

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" 
             type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
             requirePermission="false" />
  </configSections>
  <entityFramework>
    <contexts>
      <context type="WebExplore.Context.GeographyContext, WebExplore.Context">
        <databaseInitializer type="WebExplore.Context.WebExploreInitializer, WebExplore.Context" />
      </context>
    </contexts>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
  <connectionStrings>
    <add name="WebExploreEntities"
        connectionString="Data Source=.\sqlexpress;Initial Catalog=WebExplore.Database;Integrated Security=true"
        providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

但是,当我尝试使用&#34; Update-Database&#34;创建数据库时,它会创建一个具有默认名称且没有种子数据的数据库。

我相信,当我尝试通过&#34; Update-Database&#34;来创建数据库时,不会选择app.config设置。命令。

有人可以通过将app.config设置纳入帐户来帮助我创建数据库和种子数据吗?

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您正在尝试将app.config添加到您的类库项目中...... 您不能(请参阅Can a class library have an App.config file?)。您需要将app / web.config文件添加到可以启动的项目(即实际应用程序)。