Sql server 正在Visual Studio中创建与MDF文件的连接:“0”;“文件正在使用中”; 介绍

Sql server 正在Visual Studio中创建与MDF文件的连接:“0”;“文件正在使用中”; 介绍,sql-server,visual-studio-2010,entity-framework,database-connection,sql-server-2012-express,Sql Server,Visual Studio 2010,Entity Framework,Database Connection,Sql Server 2012 Express,我不熟悉实体框架,也不熟悉如何设置正确的SQL Server 我正在关注,我正在“创建数据库”——这一步大约占页面的30% 重现问题的步骤 将School.mdf文件从以下文件夹复制到应用程序的App_数据文件夹 我没有使用School.mdf文件,而是使用自己的文件,该文件是使用SQL Server Management Studio自动创建的(我从下载该文件时,选择ENU\x86\SQLEXPRADV\u x86\u ENU.exe选项),以创建包含表的数据库 在Visual studio

我不熟悉实体框架,也不熟悉如何设置正确的SQL Server

我正在关注,我正在“创建数据库”——这一步大约占页面的30%

重现问题的步骤 将School.mdf文件从以下文件夹复制到应用程序的App_数据文件夹

我没有使用
School.mdf
文件,而是使用自己的文件,该文件是使用SQL Server Management Studio自动创建的(我从下载该文件时,选择
ENU\x86\SQLEXPRADV\u x86\u ENU.exe
选项),以创建包含表的数据库

在Visual studio 2010 Ultimate中,我:

  • 进入
    服务器资源管理器
    并右键单击
    数据连接
    -->
    添加连接

  • 选择数据源的
    Microsoft SQL Server数据库文件
    -选项,然后按
    继续

  • 单击数据库文件名下的
    浏览…

  • %PROGRAMFILES%\Microsoft SQL Server\MSSQL11.MOBILIZEMESQL\MSSQL\DATA
    目录中选择该文件,因为该文件保存在该目录中

  • 获取错误信息

  • 图片版本

    1.

    2.

    3.

    问题 我收到错误消息:

    DateBaseName.mdf
    This file is in use.
    Enter a new name or close the file that's open in another program.
    
    我试过的 由于教程没有直接告诉我如何做,我首先想到我的目标是找到一种打开
    .mdf
    -文件的方法,这就是我能找到的方法

    我想是因为SQLServer正在运行(因为ManagementStudio没有),因为我不知道还有什么应该使用该文件,所以我得到了错误

    我可以将该文件复制到另一个directoy中,但我不是每次更改数据库时都要更新该文件吗

    因为我是新手,我知道我错过了一些明显的东西

    问题
    是否有合适的方法将数据库连接到实体框架?

    我不确定是否真的遵循了您所做的操作,但是如果数据库由SQL server express托管,为什么不通过SQL server连接,而不是尝试打开db文件?使用“Microsoft SQL server”数据源和服务器名称“.\SQLEXPRESS”,然后从下拉列表中选择数据库名称。通过这种方式,您可以从VS或SQL management studio中管理数据库。@forsvarir我对Compact Edition、Express和其他版本有点困惑。根据,它似乎是
    SQL Server®2012 Express
    。我尝试选择“Microsoft SQL server”数据源,然后手动键入“.\SQLEXPRESS”,但只出现了几个标准数据库:
    master
    model
    msdb
    tempdb
    。如果我不键入“.\SQLEXPRESS”,则只有一个名为“USER-PC”的选项,它是我的PC名称。根据文件夹路径,您需要连接的实例的名称可能是
    MOBILIZEMESQL
    @MartinSmith我不知道您所说的“实例”是什么意思但是我去了SQL Management Studio,看到我连接的服务器名是
    USER-PC\MOBILIZEMESQL
    。我试着在VS中输入服务器名,结果成功了,我正在寻找的
    MobilizeMe
    -数据库作为一个可能的选项出现在“连接到数据库”框中。现在它已连接,所以我猜这是将SQL Server连接到实体框架的正确步骤。@AskeB。我发现这是一个很好的工具,可以找出是什么在你的机器上锁定了一个文件