【问题标题】:Edit connection string at interface (EntityFramework)在接口(EntityFramework)编辑连接字符串
【发布时间】:2020-02-13 11:24:16
【问题描述】:

我正在使用实体框架(首先是数据库)在 WPF (MVVM) 上编写应用程序。我希望用户通过界面设置服务器名称,请告诉我怎么做。如果我从设置中传递变量,我会得到:System.ArgumentException keyword not supported 'data source'

 using (var db = new PronetsDataBaseEntities(Properties.Settings.Default.ConnectionString)) { ...}

ConnectionString 和它生成的EntityFramework 一样

(metadata=res://*/Data.PronetsDB.csdl|res://*/Data.PronetsDB.ssdl|res://*/Data.PronetsDB.msl;provider=System.Data.SqlClient; provider connection string="data source=DESKTOP-D6JRGFG\SQLEXPRESS;initial catalog=PronetsDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework")

实体上的构造函数:

public PronetsDataBaseEntities(string connectionString)
            : base(connectionString)
{
}

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    连接字符串只能是“provider connection string=”之后的部分,因此在您的情况下:“data source=DESKTOP-D6JRGFG\SQLEXPRESS;initial catalog=PronetsDB;integrated security=True;MultipleActiveResultSets=True;App=实体框架”

    【讨论】:

    • 我在此之前尝试过。这是行不通的。 System.Data.Entity.Infrastructure.UnintentionalCodeFirstException:上下文用于 Code First 模式,代码从 .edmx 文件生成,用于开发 Database First 或 Model First。
    • 你是否省略了字符串本身的引号?
    • 谢谢,我解决了创建连接方法的问题
    猜你喜欢
    • 2011-08-13
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多