实体框架连接字符串问题

时间:2012-03-13 14:15:35

标签: asp.net-mvc-3 entity-framework

我正在使用EF Code First和MVC3。

如果我在web配置中没有指定连接字符串,则应用程序可以正常工作。 在启动时它会创建数据库和表格,一切正常。

如果我为我创建的新空数据库指定连接字符串,则不会创建表,并且在运行应用程序时出现错误。错误是空指针必不可少的,因为该表不存在,我正在尝试查询它。

这是我的连接字符串:

 <add name="MyContextName" connectionString="Data Source=.\sqlexpress;Initial Catalog=MyDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" />

MyContextClass

    public class MyContextName : DbContext
{
    public DbSet<Book> books{ get; set;}
}

3 个答案:

答案 0 :(得分:2)

如果这是你的连接字符串,那么你有一个复制错误,

您已写过两次“数据源=”,

见下文

&lt; add name =“MyContextName”connectionString =“Data Source= Data Source =。\ sqlexpress; Initial Catalog = MyDatabaseName; Integrated Security = True”providerName =“System.Data.SqlClient”/&gt;

答案 1 :(得分:2)

替换:

<add name="MyContextName" connectionString="Data Source=.\sqlexpress;Initial Catalog=MyDatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" />

人:

<add name="MyContextName" connectionString="Data Source=|DataDirectory|databasename" providerName="System.Data.SqlClient" />

答案 2 :(得分:1)

我发现问题与我的过程有关。我创建了一个新的空数据库,然后将连接字符串复制到我的web配置。看起来你根本不想创建数据库。只需设置连接字符串,就像EF为您生成数据库一样。