0

我已经构建了一个使用本地数据库存储信息的 mvc 4 Intranet 应用程序。现在我想在服务器上部署它,条目没有保存到数据库中。我已经尝试了我能想到的一切,但没有运气。

有没有办法告诉应用程序使用 sql 数据库而不是 iis 中的本地实例?

这是我的 web.config 中的连接字符串

- 编辑:下面的格式化代码,因此它会出现在问题中。--

<add name="MyCalendarConnectionString" connectionString="Data Source=DST09119\SQLEXPRESS;Initial Catalog=MyCalendar;Integrated Security=True"
      providerName="System.Data.SqlClient" />
    <add name="SampleConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Sample.mdf;Integrated Security=True"
      providerName="System.Data.SqlClient" />
4

1 回答 1

0

有两种方法可以解决这个问题:

  1. 在派生类之后命名您的连接字符串DbContext(即;如果您DbContextXyzEntities,则命名您的 conn 字符串XyzEntities <add name="XyzEntities" connectionString"..... />

  2. 将连接字符串的名称传递给DbContext. 您想使用如下构造函数:

    public class XyzEntities : DbContext
    {
        public XyzEntities( string nameOrConnectionString ) 
            : base( nameOrConnectionString )
        {
        }
    }
    
    // usage
    var dbContext = new DerivedDbContext( "MyCalendarConnectionString" );
    

更新:

如果您无法连接到 SQL Server express 实例,这是由于使用Integrated Security=True- 除非您将应用程序池的标识设置为有权访问数据库的用户,否则连接将被拒绝。

于 2013-11-08T07:52:15.677 回答