【问题标题】:Context does not contain a definition for ExecuteStoreCommand上下文不包含 ExecuteStoreCommand 的定义
【发布时间】:2013-03-04 16:01:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: .net entity-framework entity-framework-4 entity-framework-5


    【解决方案1】:

    回答我自己的问题:

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

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

    1 - 通过更改代码生成策略从 DbContext 更改为 ObjectContext。 This question 展示了如何做到这一点。然后可以使用&lt;object context&gt;.ExecuteStoreCommand()

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

    &lt;db context&gt;.Database.SqlQuery(typeof(myTable), "SELECT * FROM myTable")

    【讨论】:

    猜你喜欢
    • 2020-11-18
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2018-01-27
    相关资源
    最近更新 更多