【发布时间】:2010-10-10 12:29:55
【问题描述】:
我在数据库中有一个表,其结构如下:
Date
{
ID,
Username,
Label,
DateTime
}
我希望能够在 linq 中对 Username 和 Label 列执行基本的 .Contains 搜索,但有一个问题。我想按 LIKE 匹配的数量排序。这就是我的意思:
如果我有 Data = {ID=1,Username="Shawn",Label="Whatever",DateTime=1/1/2010} 的实例
1) 如果我搜索 User="awn" 和 Label="What",结果的匹配顺序为 2。
2a) User="haw" 和 Label="cat" 的匹配顺序为 1
2b) User="Doug" 和 Label="ever" 的匹配顺序为 1
3) User="Chris" 和 Label="Fish" 的匹配顺序为 0
我希望能够按匹配顺序排序,其中 2 的顺序优于 1,然后在每个匹配顺序中我想按日期排序。
理想情况下,我希望能够在 linq 中执行此操作,但我愿意给直接 SQL 代码一个机会。
【问题讨论】: