注意:不确定问题的提出是否正确。这就是我对这个问题的看法,但完全有可能,这个问题是可以从一个完全不同的角度来解决的,我不知道,因为无知。
问题
有现成的mvc解决方案的内置数据库吗?如果是,如何找到它的连接字符串?
当前的字符串是针对azure的,看起来是这样的(坦率地说,它把我的生活排泄物吓跑了,因为我不明白其中的大部分)。

<add name="DefaultConnection" connectionString="
  Data Source=(LocalDb)\v11.0;
  Initial Catalog=aspnet-Plong-20141107210818;
  Integrated Security=SSPI;
  AttachDBFilename=|DataDirectory|\aspnet-Plong-20141107210818.mdf"
  providerName="System.Data.SqlClient" />

背景信息
我正在开发一个网站并将其发布到azure。它与数据库有一些连接,我使用的是代码优先和实体框架。一切都很好(可能除了在显示之前上传和初始化页面需要几秒钟的时间,如果我只对razor的标记做了更改,这很烦人)。
事实上,所有的都是自动设置的,我根本不需要配置太多。现在,它咬了我的坐在设备,因为以下原因。
我需要能够在本地主机上运行我的站点(如果你愿意的话,可以使用f5),因为我将离线(或者至少在连接非常糟糕的情况下)。我现在可以这样做,除了与数据库引用联系的页面,在这里我得到了下面的错误。
我知道问题是什么-没有本地数据库设置使用代码首先。我想知道是否有一个懒人的解决方案(使用一些内置的数据库和代码优先)。如果是,我应该在哪里设置它?我更喜欢保持对默认连接字符串的引用尽可能完整,但是如果我需要编辑它(或者,很可能,添加一个新的并引用它),我如何学习正确的连接字符串?!(是的,我知道,这是我为让azure为我配置所有东西而付出的代价。羞愧地低下头。)
{“无法检查模型兼容性,因为数据库不包含模型元数据。只能检查使用“代码优先”或“代码优先”迁移创建的数据库的模型兼容性。“}

最佳答案

据我所知,这不是到sql azure的连接字符串,而是本地(开发)数据库的连接字符串。它将在你的应用程序数据文件夹中创建一个.mdf文件。你可以在azure仪表板的某个地方找到到sqlazure的连接字符串。我在开发和生产之间切换,例如:

    public MyContext : DbContext
    {
      public MyContext()
#if DEBUG
          : base("development")
#else
          : base("production")
#endif
      {
      }
    }

但是,您也可以使用web.configweb.debug.configweb.release.config的xml转换。注意,当您在本地运行应用程序时,并没有真正使用web.debug.config,因此请将开发连接字符串置于web.config中,并以发布模式发布应用程序,以便web.release.config的xml转换发生。
编辑:获取sql azure连接字符串
转到管理门户并单击SQL数据库。单击数据库并转到仪表板。在右边你看到“显示连接字符串”。看起来像这样:
Server=tcp:xxx.database.windows.net,1433;Database={your_db_name};User ID={your_user_id};Password={your_password_here};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;

关于c# - 维护网站的在线(Azure)和离线版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26815715/

10-14 14:57
查看更多