小编Pet*_*zek的帖子

链接到实体聚合方法替换

看起来Linq to Entities不支持Aggregate方法.我需要将这.Select(a => a.Permissions).Aggregate((a, b) => a | b)部分更大的表达式重写为Linq to Entities所理解的内容.可能吗?

也许我应该更好地解释一下我在做什么.我需要根据这些组织者的用户权限从数据库中获取组织者的集合.权限存储为位标志,并且是以下各项的组合:

  1. DefaultOrganizerPermissions - 每个管理器都有一些默认权限
  2. OwnerPermissions - 如果User是Organizer的所有者,他还有一些额外的权限
  3. UserPermisions - 可以手动分配用户以获得一些对管理器的权限
  4. RolePermissions - 用户可以是角色的成员,并且可以分配这些角色以对组织者具有其他权限.

所以我有一个带有以下签名的方法

public IQueryable<Organizer> GetOrganizers(Person person, OrganizerPermissions requiredPermissions)

在里面有一个像这样的代码

organizers = organizers.Where(o => ((
        // Default permissions
        DefaultOrganizerPermissions |
        // Owner permissions
        (o.OwnerId == person.Id ? OwnerOrganizerPermissions : 0) |
        // Personal permissions
        (o.AccessIdentifier.Accesses.FirstOrDefault(a => a.Accessor is PersonalAccessor && (a.Accessor as PersonalAccessor).PersonId == person.Id) != null ?
        (OrganizerPermissions)o.AccessIdentifier.Accesses.FirstOrDefault(a => a.Accessor is PersonalAccessor …
Run Code Online (Sandbox Code Playgroud)

linq-to-entities entity-framework entity-framework-6

6
推荐指数
1
解决办法
263
查看次数

在Visual Studio解决方案中创建实际物理文件夹

我想从这里按照ASP.NET 5解决方案结构https://gist.github.com/davidfowl/ed7564297c61fe9ab814

如何在Visual Studio 2015 RC解决方案中创建实际的物理文件夹?你如何创建例如"tests"文件夹,它与默认情况下使用新的ASP.NET 5网站项目创建的"src"文件夹在物理上相同?当然,我希望能够将项目纳入其中.

.net asp.net visual-studio visual-studio-2015

3
推荐指数
1
解决办法
2339
查看次数