【发布时间】:2013-01-06 12:29:10
【问题描述】:
我在我的项目中使用Entity Framework 5.0。我在互联网上查看,我看到对于实体框架数据上下文,有另一个构造函数,它有一个用于连接字符串的字符串参数。
在我生成的data context 上,我没有这样的构造函数。我查看了基础DbContext,它有这样一个构造函数。
生成的代码是否错误?我从数据库生成了代码。会不会是这个原因?
原来我可以编辑代码生成模板文件来添加新的构造函数。现在我添加了新的构造函数。该文件是您的 edmx 模型下的 MyDataContext.tt 文件。在那里,您将 c# 代码与模板代码混合在一起。您可以从那里复制无参数构造函数并将其粘贴到下面。然后您可以更改它并向其添加一个字符串参数,并将该参数传递给 DbContext 构造函数,如下所示:base(myString)。
【问题讨论】:
-
你能把代码贴出来让区别更清楚吗?
-
是什么阻止您手动添加它?
-
另外,DbContext 是“代码优先”。如果你有一个现有的数据库,典型的用法是“数据库优先”。
-
@flem 使用 EF5,甚至数据库首先为您生成 dbcontext 类。它使用 T4 文件
-
@scartag。我以为 db-first 使用了
ObjectContext? EF5 有变化吗?