选择y表中的所有x

时间:2016-09-14 10:47:14

标签: c# sql linq asp.net-mvc-5

我有用户和城市的表格。我想获取用户集合中所有城市的列表,以便我可以访问所有城市ID;

    public class City
{
    public int ID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<ApplicationUser> AppUserID { get; set; }
    public virtual ICollection<Measurement> Measurements { get; set; }
}
   public class ApplicationUser : IdentityUser
{
    public override string Id { get; set; }
    public virtual ICollection<City> Cities { get; set; }
}

我已经尝试了

var cities = db.Cities.Where(c => c.AppUserID != null ); //and with .ToList()

var cities = from city in db.Cities
                     join user in db.Users
                     on city.AppUserID equals user.Cities
                     select city.ID;

但它不起作用。 有解决方案吗 提前谢谢。

1 个答案:

答案 0 :(得分:2)

c.AppUserID != null不起作用,因为该集合为空,而不是null

这将使所有城市都获得非空AppUserID集合:

var cities = db.Cities.Where(c => c.AppUserID.Any() )