16

我正在Entity Framework 5.0为我的项目使用。我在互联网上查看,我看到对于实体框架数据上下文,有另一个构造函数,它有一个用于连接字符串的字符串参数。

在我生成的data context我没有这样的构造函数。我查看了基础DbContext,它有这样一个构造函数。

生成的代码错了吗?我从数据库生成了代码。这可能是原因吗?

结果我可以编辑代码生成模板文件来添加新的构造函数。现在我添加了新的构造函数。该文件是您的 edmx 模型下的 MyDataContext.tt 文件。在那里,您将 c# 代码与模板代码混合在一起。您可以从那里复制无参数构造函数并将其粘贴到下面。然后您可以更改它并向其添加一个字符串参数,并将该参数传递给 DbContext 构造函数,如下所示:base(myString)。

4

1 回答 1

23

您可以根据需要添加一个。

检查生成的文件并添加一个重载的构造函数。

public YourContext(string connectionStr)
        : base(connectionStr)
    {


    }

不过,在部分类中定义它可能更好,因为每一代都需要您每次手动添加它。

于 2013-01-06T12:36:58.933 回答