我正在尝试从存储过程中返回2个结果,即PageCount和行列表。
我创建了一个对象:
public class MyData
{
public int PageCount {get;set;}
public ICollection<MyRowObject> Items {get;set;}
}
,我正在调用以下EF代码:
var result = this.Database.SqlQuery<T>('EXEC MySP @param1', parameters)
.FirstOrDefault();
但是,当我运行它时,它仅返回PageCount,而包含行的Items集合被设置为null。
SP在SQL中执行时肯定可以正常工作,因为它会返回PageCount和匹配行的列表。
有什么想法为什么不能解决这个问题?
谢谢
请注意,我在StackOverflow上发现了各种问题,但是它们都使用reader
,我很好奇是否可以使用.SqlQuery
来实现。
更新1:
我不知道这是否可以实现,但是我想分享一下此链接,因为这是一篇写得很好的文章,但再次使用Reader
。
Entity Framework 6 Multiple Result Sets with Stored Procedures
答案 0 :(得分:0)
要使用存储过程中的实体框架返回多个结果集,请参见以下链接。我认为这对您有用。
https://www.codeproject.com/Tips/1072284/Return-Multiple-Result-Set-using-Entity-Framework