如何在实体框架代码中首先使用“合并”以将存储过程中的多个结果集合并到一个集合中

时间:2017-11-10 20:27:58

标签: entity-framework

我是实体框架的新手。我有一个简单的存储过程,返回2个结果集。

我使用的是代码优先方法,需要使用“merge”将2个结果集合并为一个单独的集合。我不想修改我的存储过程。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

请按照此处的文档:

Entity Framework Sprocs with Multiple Result Sets

除非在您的情况下,两个DataReader都加载相同的实体。

例如

    var foos1= ((IObjectContextAdapter)db)
        .ObjectContext
        .Translate<Foo>(reader, "Foos", MergeOption.AppendOnly);   

    // Move to second result set and read next set of entities
    reader.NextResult();
    var foos2 = ((IObjectContextAdapter)db)
        .ObjectContext
        .Translate<Foo>(reader, "Foos", MergeOption.AppendOnly);

    var foos = foos1.Union(foos2).ToList();