1

我正在尝试过滤掉某种类型的实体。我正在使用实体框架,我有一个父实体,以及从父实体继承的各种子实体。我正在尝试过滤掉其中一个孩子。

例如,我有以下结构:

  • 地址:实体
    • 邮编:地址
    • 街道地址

用户实体具有对一个地址的引用。如何获取与 PostCode 类型的地址关联的用户列表?

即我试过:

 var query = from User p in context.Users
                        where p.Address.GetType() == typeof(PostCode)
                        select p;

但我得到:

LINQ to Entities 无法识别方法“System.Type GetType()”方法,并且此方法无法转换为存储表达式。

我见过一些解决方案,首先是获取用户列表,然后选择特定类型的用户列表。该方案的问题是查询首先获取所有用户;我希望我的查询包含过滤器,因为我有很多用户。

谢谢!

4

1 回答 1

5

尝试使用 is 运算符。

 var query = from User p in context.Users
                    where p.Address is PostCode
                    select p;
于 2012-10-03T10:37:26.950 回答