-1

我正在阅读为 ASP.NET MVC 应用程序创建实体框架数据模型教程。我遇到了其他人同样的错误:

“无法检索 ProjectBuild 的元数据”。“不支持使用相同的 DbCompiledModel 针对不同类型的数据库服务器创建上下文。相反,为正在使用的每种类型的服务器创建单独的 DbCompiledModel。”

我遇到了这个解决方案

“DbContext 类缺少定义目标 CE 数据库的默认构造函数。”

所以我用这行代码添加了默认构造函数:

 public SchoolContext()
        : base("SchoolContext"){}

我的问题是,我们到底在做什么?在带有冒号的构造函数之后做什么?我猜我们是在告诉 SchoolContext 当我们实例化 DBContext 时使用带字符串的构造函数?那是对的吗 ?

谢谢

4

1 回答 1

0

DbContext ctor 需要连接字符串或连接字符串名称。通过在派生自 DbContext 的类中硬编码连接字符串的名称,您可以确保无论您在何处或如何运行应用程序,它都会转到配置文件并读取您在构造函数中硬编码其名称的连接字符串。这意味着您仍然可以配置您的应用程序(因为您没有提供连接字符串本身,而是提供了它的名称),同时配置您的应用程序的方式定义明确,如果您进行一些更改,也不会“神奇地”改变到您的应用程序。

于 2013-01-28T03:03:26.120 回答