0

我正在尝试对我的数据模型执行查询,context.ExecuteStoreCommand但我不断收到错误消息:

<object context> does not contain a definition for 'ExecuteStoreCommand' ...

我以前在一个旧项目中使用过它,但我看不到我缺少什么。我有对 EntityFramework、System.Data、System.Data.Entity 的项目引用。MSDN 文档说 ObjectContext 是 System.Data.Object的一部分,但我不能直接引用它,也不需要在我以前使用过它的地方引用它。我错过了什么?

4

1 回答 1

4

回答我自己的问题:

我最初使用 ExecuteStoreCommand 的代码位于 EF4 项目中,其中代码生成策略设置为“默认”,这会导致创建 ObjectContext。读到这里,似乎 VS2012 上的 EF5 默认为数据模型创建了一个 DbContext。

我找到了解决这个问题的两种方法。

1 - 通过更改代码生成策略从 DbContext 更改为 ObjectContext。这个问题显示了如何做到这一点。<object context>.ExecuteStoreCommand()然后就可以使用了。

2 - 对 DbContext 执行 SQL 命令,例如:

<db context>.Database.SqlQuery(typeof(myTable), "SELECT * FROM myTable")

于 2013-03-04T16:01:02.390 回答