繁体   English   中英

将database.mdf添加到N-Tier Winforms应用程序的正确方法是什么?

[英]What is the proper way to add a database.mdf to an N-Tier winforms application?

我具有以下应用程序体系结构,并且正在使用EF6:

TartanModel <-> TartanGenerator.DAL <-> TartanGenerator.BLL <-> Winforms Application

EDMX文件位于DAL中,而EDMX的实体位于模型中。 我不断收到以下错误:

{“底层提供程序在打开时失败。”}

我为我的application.config文件尝试了多个连接字符串,最终看起来像下面的一样,并不断出现相同的错误:

<add name="TartanIndexEntities" connectionString="
    metadata=
        res://*/TartanModel.csdl|
        res://*/TartanModel.ssdl|
        res://*/TartanModel.msl;
    provider=System.Data.SqlClient;
    provider connection string=&quot;
        Data Source=(LocalDB)\MSSQLLocalDB;
        AttachDBFilename=TartanIndex.mdf;
        Database=TartanIndex
        Integrated Security=True;
        User Instance=True;
        MultipleActiveResultSets=True;
        App=EntityFramework&quot;"
    providerName="System.Data.EntityClient" />

最初,MDF文件使用以下连接字符串附加到MSSQL Server v2014:

<add name="TartanIndexEntities" connectionString="
    metadata=
        res://*/TartanModel.csdl|
        res://*/TartanModel.ssdl|
        res://*/TartanModel.msl;
    provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=TartanIndex;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
    providerName="System.Data.EntityClient" />

我需要做的是将MDF和LDF文件放置在主应用程序文件夹中的数据目录中(也许使用连接字符串中的|DataDirectory|参数),以便为该应用程序创建installshield应用程序安装程序。

  1. 文件应该放在哪里?
  2. 什么是正确的连接字符串?

终于想通了。

我最终不得不:

  1. 重建日志文件。
  2. 从系统中删除所有出现的数据库和日志文件,但正确的数据库文件除外。
  3. 将我的连接字符串更改为以下内容:

     <add name="TartanIndexEntities" connectionString=" metadata= res://*/TartanModel.csdl| res://*/TartanModel.ssdl| res://*/TartanModel.msl; provider=System.Data.SqlClient; provider connection string=&quot; Data Source=(LocalDB)\\MSSQLLocalDB; Integrated Security=True; AttachDBFilename=|DataDirectory|TartanIndex.mdf; App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    1. 将数据库和日志文件放入我的模型中。

所有工作和应用程序的分配速度都比通过我的开发MSSQL Server快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM