使用大字符串过滤实体框架

时间:2016-09-04 07:10:41

标签: entity-framework filter

我在WPF的窗口中有一个ListView。它绑定到实体框架,ItemsSource的类型为List<Model.Asset_Asset>。此窗口调用高级搜索窗口并从中获取大型字符串过滤器。

这里有一个简单的输出过滤器:

([barcode]  like 'bar12%' and ( [isParent]  = 'True' and ( [Name] like '%pr%')) and ( [Group]  = 'A'  or ( [Group]  = 'B')))

注意:输出过滤器是动态的,可能会变得非常复杂。

使用这个大型过滤器哪种方式更好?

  1. ItemsSource更改为DataView并对其进行过滤。是否可以将DataView中的数据类型更改为Asset_Asset

  2. 将过滤器传递给Entity Framework。如果有可能我该怎么办?

  3. 制作stored procedure并将过滤器传递给它。如何将sp的类型更改为Asset_Asset

  4. 我是否应该忘记EF并使用DataView来绑定已过滤的列表?

  5. 提前致谢。

1 个答案:

答案 0 :(得分:0)

这是一个旧帖子。这些年过去了,我有足够的能力来回答这些问题。 所以对于任何可能使用答案的人:

问题 1、2 和 4: 可以使用dbContext来执行sql查询和返回类型。

问题 3: 在解决方案资源管理器中找到 edmx 文件并转到属性。双击 sp 并选择返回类型。