EF Core 2.1 添加FREETEXT
了对. 但是,我有一个不同的问题,使用 EF Core 2.2:EF Core 是否FREETEXT
支持子实体?
public class Customer
{
public Name Name { get; set; }
public List<Address> Addresses { get; set; }
}
Name 是一个拥有的实体(值对象),非常适合搜索:
public class Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
地址是一个子实体:
public class Address
{
public string Street { get; set; }
public string Number { get; set; }
}
此搜索工作正常:
query.Where(c => EF.Functions.Freetext(c.Name.FirstName, searchTerm) || EF.Functions.Freetext(c.Name.LastName, searchTerm)
此搜索不会,因为最终术语无法翻译为 SQL:
query.Where(c => EF.Functions.Freetext(c.Name.FirstName, searchTerm) || EF.Functions.Freetext(c.Name.LastName, searchTerm) || EF.Functions.Freetext(c.Addresses.First().Street, searchTerm)
有什么办法可以解决这个问题,还是我需要使用 SQL 函数?我尝试过使用Select()
语句,但也无法完全转换为 SQL。