如何在实体框架中映射 CONTAINSTABLE 函数(代码优先)?
Posted
技术标签:
【中文标题】如何在实体框架中映射 CONTAINSTABLE 函数(代码优先)?【英文标题】:How to map CONTAINSTABLE function in Entity Framework (code-first)? 【发布时间】:2014-05-16 22:17:11 【问题描述】:感谢https://codefirstfunctions.codeplex.com/,现在可以在实体框架中映射函数(代码优先)。我正在尝试映射CONTAINSTABLE function。如何传递table
参数?
为此使用泛型可能会更好:
db.ContainsTable<MyEntity>(myTerm)
可以翻译成:
SELECT * FROM CONTAINSTABLE(MyEntities, *, @myTerm)
我应该以某种方式使用CreateQuery 吗?
(有一些较旧的尝试:[1] 和 hacky [2]。但是对于 EF 6.1 和 CF 函数,我试图找到更干净的东西。)
【问题讨论】:
你最后找到好的解决方案了吗? @Gavin 一些提示,但尚未尝试:codefirstfunctions.codeplex.com/discussions/541844 【参考方案1】:你可以使用 DataTable 。
-
创建 'DataTable' var dt=new DataTable()
在表中创建列和行
创建参数
var dtparameter = new SqlParameter("paramname", SqlDbType.Structured);
dtparameter.Value= dt;
dtparameter.TypeName = "dbo.udt_tableName";
将此参数传递给实体框架调用tablevalue参数。
【讨论】:
你的意思是msdn.microsoft.com/en-us/library/system.data.datatable.aspxDataTable
?如何在实体框架的 LINQ 中使用它?以上是关于如何在实体框架中映射 CONTAINSTABLE 函数(代码优先)?的主要内容,如果未能解决你的问题,请参考以下文章