gpt4 book ai didi

entity-framework - Entity Framework - 我的对象上下文在哪里?

转载 作者:行者123 更新时间:2023-12-03 14:31:36 25 4
gpt4 key购买 nike

好的,我显然错过了一些非常基本的东西。我对 Entity Framework 很陌生。

我想调用存储过程而不导入它们,所以我打算使用 ExecuteStoreQuery()。根据文档,ExecuteStoreQuery 是 ObjectContext 的一种方法。但是,我不知道从哪里获得我的 ObjectContext。

我使用 Database First 生成了我的实体。到目前为止,我一直在访问我的实体,如下所示:

var db = new MyEntities();

PRODUCT p = db.PRODUCTS.First(a => a.PRODUCTSKEY == thekey);

但我不能调用 db.ExecuteStoreQuery,因为 db 不是 ObjectContext。

我已经用谷歌搜索了如何从实体中获取 ObjectContext。我找到了一些答案,但它们都标有警告,说这是一种解决方法,只有在没有其他选择的情况下才使用它。好的,那么正确的方法是什么?

我发现的所有使用 ExecuteStoreQuery 的示例都假定您已经拥有 ObjectContext。不是很有帮助。

我发现一个网站说 ObjectContext 是由 Entity Framework “自动生成”的。如果是这样,那么它在哪里?

我显然在这里遗漏了一些非常简单的东西。这不可能那么难。

最佳答案

ObjectContext已替换为 DbContext在 Entity Framework 4.1 中。其实DbContextObjectContext 上的适配器(包装器) .如需获取ObjectContext你可以投你的DbContext实例到 IObjectContextAdapter接口(interface)(显式实现)和包装ObjectContext实例将可用:

ObjectContext context = ((IObjectContextAdapter)db).ObjectContext;

顺便说一句,我认为您正在寻找 db.Database.SqlQuery 方法。

关于entity-framework - Entity Framework - 我的对象上下文在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14245153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com