C# 实体框架中连接字符串的硬编码

C# 实体框架中连接字符串的硬编码,c#,entity-framework,linq,C#,Entity Framework,Linq,我知道很多人认为硬编码连接信息是一个坏主意,但我有一个具体的情况,我需要这样做。请不要因为你认为这是个坏主意而贬低我——同样,这是非常具体的情况 使用下面的代码,我在LINQ语句中得到以下错误:基础提供程序在打开时失败。我已经独立测试了连接字符串,连接起来没有问题 public partial class Form1 : Form { public Form1() { InitializeComponent(); var entityConnec

我知道很多人认为硬编码连接信息是一个坏主意,但我有一个具体的情况,我需要这样做。请不要因为你认为这是个坏主意而贬低我——同样,这是非常具体的情况

使用下面的代码,我在LINQ语句中得到以下错误:基础提供程序在打开时失败。我已经独立测试了连接字符串,连接起来没有问题

public partial class Form1 : Form
{
    public Form1()
    {
       InitializeComponent(); 

        var entityConnectionStringBuilder = new EntityConnectionStringBuilder();
        entityConnectionStringBuilder.Provider = "System.Data.SqlClient";
        entityConnectionStringBuilder.ProviderConnectionString = "Data Source=DESKTOP-A43456\\MAIN;Initial Catalog=MAIN;Persist Security Info=True;User ID=AppUser;Password=3092409SALFKJ93LK342";
        entityConnectionStringBuilder.Metadata = "res://*";


        MyEntities CustContext = new MyEntities(entityConnectionStringBuilder.ToString());

        var q = (from i in CustContext.Customers
                 where i.fid3 == 15
                 select new CustClass
                 {
                     fid1 = i.fid1,
                     fid2 = i.fid2,
                     fid3  = (int)i.fid3
                 }).ToList<CustClass>();

    }
} 

提前感谢您提供的任何帮助和见解。我确实查看了其他相关帖子,并尝试了元数据方面的各种更改,但都不起作用

根据您在注释中共享的类定义,您的问题在于Entities类

其构造函数应将连接字符串传递给DbContext基类构造函数:

public Entities(string nameOrConnectionString) : base(nameOrConnectionString) {}

祝您的项目一切顺利

请阅读InnerException。您需要多个活动结果集。您可以向我们展示MyEntities的构造函数吗?请告诉我,您不仅仅在连接字符串中发布了实际凭据。至少用一些泛型替换它们,如someuser和somepassword。@Brunner公共部分类实体:DbContext{public Entitiesstring name或connectionstring:basename=Entities{}