C# 在VisualStudio解决方案中,本地数据库放在何处?

C# 在VisualStudio解决方案中,本地数据库放在何处?,c#,wpf,entity-framework,visual-studio,mvvm,C#,Wpf,Entity Framework,Visual Studio,Mvvm,在我的解决方案中,我有四个项目 观点 视图模型 模型 数据访问 顾名思义,DataAccess将负责与我的本地数据库通信,目前是一个mdf文件。我的问题是我应该把这个文件放在哪里 我应该放在DataAccess项目的bin\debug文件夹中,还是应该放在View项目的\bin\debug文件夹中,因为此项目是启动项目,并且exe文件最终存在 ==================================================== 我正在尝试创建一个wpf mvvm桌面应用程序

在我的解决方案中,我有四个项目

  • 观点

  • 视图模型

  • 模型

  • 数据访问

  • 顾名思义,
    DataAccess
    将负责与我的本地数据库通信,目前是一个
    mdf
    文件。我的问题是我应该把这个文件放在哪里

    我应该放在
    DataAccess
    项目的
    bin\debug
    文件夹中,还是应该放在
    View
    项目的
    \bin\debug
    文件夹中,因为此项目是启动项目,并且
    exe
    文件最终存在

    ====================================================

    我正在尝试创建一个wpf mvvm桌面应用程序


    我还首先使用实体框架代码,因此我想将我的连接字符串放在我的App.config文件中,该文件当前在视图项目下。那么我将如何指定我的连接字符串呢?

    不要把它放在你的bin文件夹中,编译后的源代码就放在那里。您应该能够删除bin和obj文件夹,并通过重新编译项目来重新创建它们

    DataAccess/db.mdf似乎是一个非常合理的位置。发布项目时,您的目录结构不会与项目结构相同。无论如何,项目将转换为.dll和.exe

    只要您将构建操作设置为“复制”,它就会在构建之后出现在输出文件夹目录中。您需要根据项目是否已发布来切换正在读取的路径

    如果您使用的是WPF/ClickOnce,则可以使用

    var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ApplicationDeployment.IsNetworkDeployed ? "" : "../../", "DataAccess/db.mdf");  
    

    也许你应该看看App_数据文件夹?更多信息请点击此处:

    我之所以把它放在这里,是因为您的客户无法通过浏览器访问它,而且文件夹的名称表明这是存储应用程序数据的地方


    希望这有帮助!祝你好运

    如果您正在创建MVC应用程序,您可以找到App_数据文件夹。您可以在这里保留本地数据库。或者在项目中创建App_数据文件夹并添加本地数据库


    此外,您还可以在项目的Web.Config文件中保留连接字符串。

    始终将本地数据库放置在appstart path中。因此,在这里,它将是View project.try和testHi,@Matt Searles如果我将本地数据库文件放在DataAccess项目下,如何在我的
    App.Config
    中指定
    连接字符串,我实际上是在创建一个mvvm wpf桌面应用程序