我在我的网站中实现了一个使用Linq-To-Sql
. 引擎的输出是一个列表Result
。
为了提高安全性和性能,我在CachedResult
我的数据库中添加了一个表。它有这些列:
ID
, Date
, Output
WhereOutput
是一个字符串,它表示一个列表,integers
其中的ID
s 是另一个表的。
使用该Where
方法,我能够从数据库中提取这些元素。问题是他们的顺序是基于他们在表格中的顺序,而不是integers
我的字符串中的顺序。
因此,我以这种方式添加了OrderBy
该方法:
db.Uploads.Where(upl => W.Contains(upl.UploadID)).OrderBy(pp => W.IndexOf(pp.UploadID));
W
这是integers
(从数据库中提取的)的列表。
问题是它抛出了一个异常,说Linq-To-Sql translator
无法将该List.IndexOf
方法转换为适当的 SQL 查询。
我想知道我这样做是否正确并且有解决方案,或者我完全错了,我必须寻求另一种方式?(即制作另一个与 有关系的表CachedResults
)