首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DbSet在EntityFramework CodeFirst中的过滤

DbSet在EntityFramework CodeFirst中的过滤
EN

Stack Overflow用户
提问于 2017-01-10 07:13:29
回答 1查看 614关注 0票数 0

这是ApplicationUser:

代码语言:javascript
复制
public class ApplicationUser : IdentityUser<long>
{
    public string Firstname { get; set; }
    public string Lastname { get; set; }
    public UserTypes Type { get; set; }
    public string FullName { get { return $"{Firstname ?? ""} {Lastname ?? ""}".Trim(); } }
}

我们有3种不同的UserTypes (提供者、支持者、NormalUser (即ApplicationUser))

代码语言:javascript
复制
public class Provider : ApplicationUser{
   // Provider related virtual Icollections
}

public class Supporter : ApplicationUser{
   // Supporter related virtual Icollections
}

现在,在ApplicationDbContext中,我希望在ApplicationUser旁边有这些DbSet

代码语言:javascript
复制
public virtual DbSet<Provider> Providers{get;set;}
public virtual DbSet<Supporter> Supporters{get;set;}

哪个DbSet<Provider>应该返回其UserTypes等于2的ApplicationUsers (例如)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-10 07:54:11

代码语言:javascript
复制
     public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<long>, long>
        {

            public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
                : base(options)
            {
            }
            public ApplicationDbContext()
                : base()
            {
            }

            public virtual IEnumerable<Provider> Providers
            {
                get
                {
                    return (IEnumerable<Provider>)Users.Where(z => z.Type == UserTypes.Provider).AsEnumerable();
                }
            }
         }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41563151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档