ExecuteStoreQuery返回多行,如何将其导入IList或List

Joh*_*n x 4 entity-framework entity-framework-4 c#-3.0

我有一个存储过程返回一个动态查询,例如,如果我将一些值传递给它的id参数,它返回一个动态查询,如

Select * from someTable tbl where tbl.Id=51
Run Code Online (Sandbox Code Playgroud)

然后我用ExecuteStoreQuerylike 执行这个查询

string query = container.CreateQuery<string>(
                    "SELECT VALUE DB.Store.GetQuery(@ID) FROM {1}",
                    new System.Data.Objects.ObjectParameter("ID", 51)
                ).First();

object lists = container.ExecuteStoreQuery<object>(query);
Run Code Online (Sandbox Code Playgroud)

问题是container.ExecuteStoreQuery<object>(query);返回多行,我想进入列表,我该怎么做

Raf*_*fay 7

创建一个你想要返回结果类型的模型

public class mymodel{

public int _key{get;set;}
public string _value{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

where _key_value对应于返回结果的列

执行查询ExecuteStoreQuery也返回结果AsQueryable

 container.ExecuteStoreQuery<mymodel>(query).AsQueryable().ToList();
Run Code Online (Sandbox Code Playgroud)