无法打开数据库,未创建数据库

时间:2013-06-11 20:53:26

标签: c# sql-server entity-framework

我想从我的代码中使用entityframework创建一个数据库。数据库服务器是Window Server 2012数据中心上的MS SQL 2012 BI。

我尝试使用MSDN中的示例执行此操作。我的配置如下所示:

  <defaultConnectionFactory
        type="System.Data.Entity.Infrastructure.SqlConnectionFactory, 
            EntityFramework">
      <parameters>
        <parameter value="Data Source=databaseserver;User Id=name;Password=password; MultipleActiveResultSets=True " />
      </parameters>
    </defaultConnectionFactory>

我收到一个SqlException,其中“登录用户xy时出错”,“无法打开数据库”。这是显而易见的,因为我希望代码在需要时生成数据库。 (可以在此处找到MSDN的示例:http://msdn.microsoft.com/de-de/data/jj193542

编辑:避免混淆一些事实我想做什么:

  • 我有一个Sql用户的MsSql Server安装程序,没有

  • 我有要写入数据库的课程。

  • 我尝试使用上面发布的示例执行此操作,但是Connection和/或DataBase / DataBase-table的创建失败。

2 个答案:

答案 0 :(得分:0)

将连接字符串添加到配置文件

    <configuration>
    ...

      <connectionStrings>
        <add name="DerivedClassNameFromDbContext" connectionString="Data Source=.\; Initial Catalog=DbName; Persist Security Info=True; User ID=Username; Password=pass" providerName="System.Data.SqlClient"/>
      </connectionStrings>

    ...
    </configuration>

或者在DbContext的派生类中使用构造函数设置连接字符串,如下所示:

public class EFDbContext : DbContext
    {
        ...

        public EFDbContext()
        {
             Database.Connection.ConnectionString =
                @"Data Source=.\; Initial Catalog=DbName; Persist Security Info=True; User ID=Username; Password=pass";
        }
    }

enter image description here

答案 1 :(得分:0)

我可以让它发挥作用。我现在的解决方案似乎拒绝使用实体框架。我尝试创建一个新的解决方案,并在那里工作。我会尝试在解决方案中找到错误。