DB First生成的上下文没有连接字符串的构造函数重载

时间:2016-04-20 17:13:05

标签: c# entity-framework

我想在运行时为我的数据库设置连接字符串。 使用ADO.NET Entity数据模型从现有数据库创建我的上下文,我得到一个上下文,要求连接字符串在app.Config中。

我想以编程方式设置它,并且我可以通过在生成的上下文上创建重载的构造函数来实现这一点,这可以...直到......

如果我必须从数据库刷新我的模型,那么这个重载的构造函数将被删除,我必须将其重新添加。

有没有办法配置T4模型生成,以便它允许我指定连接字符串?

2 个答案:

答案 0 :(得分:3)

我在发布之后意识到生成的Context是一个部分类,所以我创建了另一个带有相应构造函数的代码文件,这非常有效。

答案 1 :(得分:0)

在我的情况下,它不是局部的。在这方面可能有什么选择。此类来自实体项目使用数据库优先方法创建的元数据。

namespace Survey.Models
{
    public class NetpiperDBcontext : DbContext
    {
        public NetpiperDBcontext();

        public virtual DbSet<AnswerOption> AnswerOptions { get; set; }
        public virtual DbSet<Attachment> Attachments { get; set; }
        public virtual DbSet<AttributeIcon> AttributeIcons { get; set; }
    }
}