我是EF的新手,但我设法建立了几个关系等实体。现在我需要查询数据库以返回当前用户的“案例”列表。我通常会使用我创建的存储过程,但是存储过程会返回EF中不是实体的结果,它是来自2个不同表的字段的子集。我如何实现这一目标?任何教程等链接都是最受欢迎的。
总结一下,我有2个实体,我想执行一个存储过程,它返回一组列,这些列是来自两个实体的字段集合。
答案 0 :(得分:0)
只需创建包含与存储过程结果集中的列相同名称(和类型)的属性的类,并使用ExecuteStoreQuery
从SP获取实体化结果。 Here是一些例子。
答案 1 :(得分:0)
如果要坚持使用存储过程方法,可以将存储过程导入到域模型中,并使用EF设计工具获取存储过程结果集的形状,并创建一个CLR类型,用于代表结果集。然后,您可以在上下文类中创建一个方法(通过设计器),该方法调用此存储过程并返回此CLR类型的枚举。
另一方面,如果两个表相关,您可以考虑编写一个投影相同字段的LINQ查询。