如何使用 Linq to Entities 中的 Contains() 函数?
使用 Linq to Entities 的 Contains() 函数解决方法
问题:
如何使用Linq to Entities 查询中的 Contains() 函数,尽管缺乏支持?
答案:
更新: 从 Entity Framework 开始( EF) 版本 4 及更高版本,直接支持 Contains()。
对于早期版本的 EF,需要解决方法:
Contains() 的自定义扩展方法
创建以下扩展方法:
<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>( this ObjectQuery<TEntity> query, Expression<Func<TEntity, TValue>> selector, IEnumerable<TValue> collection) { // ... (implementation remains the same as in the provided code) }</code>
登录后复制
可选静态集合版本
您可以选择创建一个允许静态集合的版本:输入:
<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>( this ObjectQuery<TEntity> query, Expression<Func<TEntity, TValue>> selector, params TValue[] collection) { return WhereIn(query, selector, (IEnumerable<TValue>)collection); }</code>
登录后复制
用法:
使用此扩展方法,您可以在 Linq to Entities 查询中使用 Contains(),如下所示:
<code class="csharp">public static void Main() { using (MyObjectContext context = new MyObjectContext()) { // Using method 1 - collection provided as collection var contacts1 = context.Contacts.WhereIn(c => c.Name, GetContactNames()); // Using method 2 - collection provided statically var contacts2 = context.Contacts.WhereIn(c => c.Name, "Contact1", "Contact2", "Contact3", "Contact4"); } }</code>
登录后复制
以上是如何使用 Linq to Entities 中的 Contains() 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保护它?
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)