如何使用Entity Framework和localdb .mdf文件部署Winforms应用程序

时间:2018-04-08 22:43:09

标签: c# winforms entity-framework deployment

以下是产生问题的步骤。

  1. 使用Visual Studio,启动一个新项目并创建一个新的Windows窗体应用程序。
  2. 将datagridview添加到表单
  3. 添加基于服务的数据库.mdf文件localdb(v12),并创建包含一些数据的表
  4. 添加ADO .NET实体数据模型以访问.mdf文件
  5. 中的数据
  6. 在事件Form1_load上,我使用Entity Framework填充了gridview,如下所示:

    private void Form1_Load(object sender, EventArgs e)
    {
        using (TestDBEntities db = new TestDBEntities() ) 
        {
            dataGridView1.DataSource = db.Customers.ToList();
        }
    }
    
  7. 到目前为止,一切正常,应用程序在开发PC上运行良好。

    但是当尝试使用ClickOnce或InstallShield将应用程序部署到另一台PC时,我收到有关连接字符串的错误。

    如何解决此错误?

    以下是app.config文件:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <configSections>
            <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </configSections>
        <connectionStrings>
            <add name="TestDBEntities" 
                 connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string='data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\TestDB.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework'"  
                 providerName="System.Data.EntityClient" />
        </connectionStrings>
        <entityFramework>
            <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
                <parameters>
                    <parameter value="mssqllocaldb" />
                </parameters>
            </defaultConnectionFactory>
            <providers>
                <provider invariantName="System.Data.SqlClient" 
                          type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
            </providers>
        </entityFramework>
    </configuration>
    

    ,这是错误消息

    enter image description here

    我在目标PC上安装了.Net framework 4和SqlLocalDB.msi,但问题仍然存在,请帮忙

0 个答案:

没有答案