EF 5.交叉口性能

时间:2012-10-02 10:13:56

标签: entity-framework linq-to-entities

我正在使用Entity Framework 5,我有实体:用户,角色和文件。

我需要检查两个角色列表是否至少有一个共同的项目:

List<Role> a = user.Roles;
List<Role> b = file.Roles;

Boolean commonRoleFound = a.Intersect(b).Count() > 0;

有更好的方法吗?也许使用ANY?也许其他?

性能更好的选择是什么?

谢谢你, 米格尔

1 个答案:

答案 0 :(得分:1)

理论上“任何”会更快,因为你不需要知道多少,只有至少一个相交。在找到两个列表中的记录后,它可能会停止比较。