Entity framework 使用LINQ和EF进行全文搜索
我正在尝试使用EntityFramework实现全文搜索 MyDB有一个名为Users的表和一个名为UserInfoEntries的表。表users连接到其他一些表,表UserInfoEntries包含用户信息 当我想要获取用户信息时,我会遍历Entity framework 使用LINQ和EF进行全文搜索,entity-framework,full-text-search,Entity Framework,Full Text Search,我正在尝试使用EntityFramework实现全文搜索 MyDB有一个名为Users的表和一个名为UserInfoEntries的表。表users连接到其他一些表,表UserInfoEntries包含用户信息 当我想要获取用户信息时,我会遍历user.UserInfoEntries中的条目,并获取具有最早条目时间戳的条目 我想用作全文搜索键的属性是UserInfoEntry中的FullName属性 获取具有确切全名的用户的LINQ如下所示: from user in objectContext
user.UserInfoEntries
中的条目,并获取具有最早条目时间戳的条目
我想用作全文搜索键的属性是UserInfoEntry中的FullName属性
获取具有确切全名的用户的LINQ如下所示:
from user in objectContext.Users
let currentInfoEntry =
(from entry in user.UserInfoEntries
orderby entry.EntryTimestamp descending
select entry
).FirstOrDefault()
where currentInfoEntry.FullName == "Some Name"
select new UserWithInfo
{
User = user,
Info = currentInfoEntry
}
我想使用全名全文搜索。有没有比将查询转换为SQL更简单的方法?这不是全文搜索。这只是一个正常的搜索,完全匹配。您可以通过还原查询来简化查询:
var query = from x in objectContext.UserInfoEntries.Include("User")
where x.FullName == "Some Name"
orderby x.EntryTimestamp descending
select x;
UserInfoEntry entry = query.FirstOrDefault();
User user = entry.User;
此查询要求您的
UserInfoEntry
实体具有名为User
的导航属性,指向User
实体。很抱歉理解错误,但我想知道在这种情况下如何执行全文搜索。换句话说,如何使用FTS查找具有某个名称的用户。(例如,对于关键字matt,我希望获得所有名为matt、matthew和类似名称的用户)。