【发布时间】:2010-11-15 12:05:52
【问题描述】:
我的代码对数据库进行了两次往返,因为我不确定这是否是创建我的 POCO 集合的正确方法,因为某些特定的 SQL 代码,第一次往返会遇到存储过程。
场景
用户在 UI 中输入一些 AutoComplete 搜索查询。我的代码遇到了一个存储过程(它利用了 F*ull Text Search* - 因此我使用存储过程的原因)并返回了结果的所有distinct primary keys。这些返回到代码(我的IRepository class),然后我使用 EF 检索所有结果,以获取这些存储过程结果。
首先,我不知道如何在 Linq to Entities 中执行此操作:对于 Id 的集合,检索所有 Foo 实体。
其次,我正在对数据库进行两次往返。为什么?因为我不确定如何在第一次往返中检索到丰富的结果。该实体由几个POCO 类组成,并且还有两个ICollection 属性,等等...
这是我应该使用存储过程然后检索丰富的填充实体的正确方法吗?
我将快速创建一个虚拟类图来帮助解答任何问题。
public class Person
{
string Name;
int Age;
ICollection<string> NickNames;
ICollection<Foo> DonnoSomethingElses;
}
想法?
【问题讨论】:
标签: .net sql-server entity-framework stored-procedures entity-framework-4