【发布时间】:2009-09-08 08:48:56
【问题描述】:
我正在尝试掌握实体框架,并要求按与地球上某个点的距离对结果进行排序。我已经决定previous advice 使用我已成功完成填充视图的存储过程来执行此操作。但是我需要返回多个表,我知道我不能直接使用实体框架上的存储过程来完成。如果这不正确,如果有人能建议我如何做到这一点,我将不胜感激。
无论如何,我因此定义了一个简单的 sp (SELECT id FROM table),然后想执行一个 linq 查询以将其与我的模型中的等效对象连接起来,如下所示:
var sp = db.StoredProcedure();
var ret = from x in db.X
join y in sp on x.ID equals y.ID
select x;
但是,当我执行此操作时,查询会导致以下异常:
“无法创建类型为 'System.Collections.Generic.IEnumerable'1' 的常量值。在此上下文中仅支持原始类型('例如 Int32, String, Guid')。”
为什么会这样?这是正确的方法吗? (请注意,我的最终 sp 会更复杂,我将从 'select'select 返回多个类)
【问题讨论】:
标签: c# linq entity-framework