实体框架:ObjectContext.ExecuteStoreQuery生成分离的对象

nea*_*rin 8 .net c# entity-framework

我需要运行一些自定义SQL来返回表中的对象列表.我正在使用ExecuteStoreQuery.

var q = context.ExecuteStoreQuery<ProductionUnit>(MySelectString, new SqlParameter("@ProductionUnitId", value));
Run Code Online (Sandbox Code Playgroud)

这确实导致q包含ObjectResult集合,但实际的ProductionUnit元素是Detached并且它们的EntityKey为null.在尝试处理其中某些对象或其关系时,这会产生许多问题.我的SQL查询返回一个结果集,其中包含相应ProductionUnits表的所有列(仅此而已).

为了跟踪这些对象我需要做的其他事情还是设计中的这种行为?

nea*_*rin 3

我自己解决了 - 您需要使用 ExecuteStoreQuery 重载,它允许您为返回的实体指定 EntitySet 名称。

  • 您能在示例中提供解决方案吗 (11认同)