非静态方法需要一个目标。 entity framework5 Code First

我收到错误“非静态方法需要目标”。 当我运行以下查询:

var allPartners = DbContext.User .Include(u => u.Businesses) .Where(u => u.Businesses.Any(x => x.Id == currentBusinessId)) .ToList(); 

我的实体是这样定义的:

 public class User : Entity { public virtual List<Business> Businesses { get; set; } } public class Business : Entity { public virtual List<User> Users { get; set; } } public class Entity { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } } 

而我的上下文是这样configuration的;

 public class Context : DbContext, IDatabaseSession { public DbSet<Business> Business { get; set; } public DbSet<User> User { get; set; } public Context() : base("DefaultConnection") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Conventions.Remove <System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>(); Database.SetInitializer(new MigrateDatabaseToLatestVersion<Context, Configuration>()); modelBuilder.Entity<User>() .HasMany(u => u.Businesses) .WithMany(b => b.Users); } } 

我做错了什么?

问题归结为查询。 我原来的问题有这个查询:

 var allPartners = DbContext.User .Include(u => u.Businesses) .Where(u => u.Businesses.Any(x => x.Id == currentBusinessId)) .ToList(); 

这不是很准确,事实上我已经删除了这个错误,试图简洁地问我的问题。 查询实际上是:

 var currentBusiness = GetBusiness(); var allPartners = DbContext.User .Include(u => u.Businesses) .Where(u => u.Businesses.Any(x => x.Id == currentBusiness.Id)) .ToList(); 

GetBusiness方法返回null ,抛出错误。 简单地确保我不传递一个null对象到expression式使得错误停止。