我意识到有很多关于全文搜索和实体框架的问题,但我希望这个问题有点不同.
我正在使用Entity Framework,Code First,需要进行全文搜索.当我需要执行全文搜索时,我通常还会有其他条件/限制 - 例如跳过前500行,或过滤其他列等.
我看到这是使用表值函数处理的 - 请参阅http://sqlblogcasts.com/blogs/simons/archive/2008/12/18/LINQ-to-SQL---Enabling-Fulltext-searching.aspx.这似乎是正确的想法.
不幸的是,在实体框架5.0之前不支持表值函数(我认为,即使这样,它们也不支持Code First).
我真正的问题是,对于实体框架4.3和实体框架5.0,最佳处理方式的建议是什么.但具体来说:
除了动态SQL(System.Data.Entity.DbSet.SqlQuery例如,通过),Entity Framework 4.3是否有可用的选项?
如果我升级到Entity Framework 5.0,有没有办法可以首先使用表值函数和代码?
谢谢,埃里克
感谢https://codefirstfunctions.codeplex.com/,现在可以在Entity Framework中映射函数(代码优先).我正在尝试映射CONTAINSTABLE函数.如何通过table论证?
使用泛型可能是好的:
db.ContainsTable<MyEntity>(myTerm)
Run Code Online (Sandbox Code Playgroud)
可以翻译成:
SELECT * FROM CONTAINSTABLE(MyEntities, *, @myTerm)
Run Code Online (Sandbox Code Playgroud)
我应该以某种方式使用CreateQuery吗?
c# sql-server full-text-search entity-framework ef-code-first