C# 避免在启动WPF项目中暴露连接字符串
我有一个WPF项目,类库使用数据库优先的方法处理EF6.0。现在,我希望实体类进入我的启动项目(WPF项目),而无需在startup project app.config中添加连接字符串。我搜索出类EntityConnectionStringbuilder,它将帮助动态生成连接字符串。但是,我找不到使用数据库优先方法和entityconnectionstringbuilder的解决方案C# 避免在启动WPF项目中暴露连接字符串,c#,wpf,entity-framework,C#,Wpf,Entity Framework,我有一个WPF项目,类库使用数据库优先的方法处理EF6.0。现在,我希望实体类进入我的启动项目(WPF项目),而无需在startup project app.config中添加连接字符串。我搜索出类EntityConnectionStringbuilder,它将帮助动态生成连接字符串。但是,我找不到使用数据库优先方法和entityconnectionstringbuilder的解决方案 请帮助我在Db-first方法中对EntityConnectionStringbuilder示例进行分析,或建
请帮助我在Db-first方法中对EntityConnectionStringbuilder示例进行分析,或建议我不同的方法。您可以使用代码优先方法 首先创建一个示例类
public class Sample
{
public string ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
现在为任务创建一个任务上下文
public class SampleContext : DbContext
{
public SampleContext(string connection) : base(connection)
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<TaskContext>());
}
public DbSet<Task> Tasks { get; set; }
}
现在将连接字符串传递给SampleContext,它将为您创建数据库
SampleContext = new SampleContext(ConnectionString);
根据使用情况更改连接字符串使用
EntityConnectionStringbuilder.ToString()
获取连接字符串,如果我使用(var dbenties=new DB_Entities())因此,在何处传递连接字符串和DB_Entites构造函数是自动生成的,因为我有DB-first方法。我通过在我的dll项目上创建分部类,并将构造函数参数化为连接字符串,获得了DB-first方法的解决方案。我创建了具有相同名称空间的分部类。公共部分类SampleEntities:DbContext{public SampleEntities(string connectionstring):base(connectionstring){},所有内容都与前面相同。现在我正在访问这个类。调用时,我在新对象中使用了EntityConnectionStringBuilder.Connectionstring。使用(SampleEntities obj=new SampleEntities(connectionstring)){}我通过在我的dll项目上创建分部类并将构造函数参数化为连接字符串,获得了使用DB first方法的解决方案。我创建了具有相同名称空间的分部类。公共部分类SampleEntities:DbContext{public SampleEntities(string connectionstring):base(connectionstring){},所有内容都与前面相同。现在我正在访问这个类。调用时,我在新对象中使用了EntityConnectionStringBuilder.Connectionstring。使用(SampleEntities obj=新的SampleEntities(connectionstring)){
SampleContext = new SampleContext(ConnectionString);