How do you do full text search (FTS) with Linq to ADO.NET entity framework?

前端 未结 2 1880
借酒劲吻你
借酒劲吻你 2021-01-02 03:52

Now that SQL Server 2008 has full text search built in. I\'m looking to use it to power my website\'s search. I\'m also looking at using ADO.NET entity framework for my ORM

相关标签:
2条回答
  • 2021-01-02 04:30

    I've seen code like this for EF4:

    var query = context.ExecuteStoreQuery<Person>(
            "SELECT * FROM People WHERE FREETEXT(*,{0})", 
            searchText
        ).AsQueryable();
    

    This may be simpler than creating a stored proc or UDP in some cases.

    0 讨论(0)
  • 2021-01-02 04:35

    Entity Framework supports only a subset of the sql functionality available (partly to remain compatible over a range of providers). However, even LINQ-to-SQL (which supports a lot more SQL-Server specific constructs, such as UDFs) doesn't support full-text AFAIK.

    I believe you need to use a stored procedure / udf. The UDF approach is preferred, as the metadata layer is much stronger, and it is composable at the db server - however, Entity Framework doesn't (or didn't, last time I checked) like UDFs ;-p So you may have to use a stored procedure.

    0 讨论(0)
提交回复
热议问题