x.CityID无效,我怎么写lambda表达式?
private void adressComboBoxFill<T>(MetroComboBox varComboBox, System.Data.Entity.DbSet<T> dbSet, string place) where T : class
{
if (place == "City"){
varComboBox.DataSource = dbSet.ToList();
}
else if (place == "District"){
var type = dbSet.GetType();
varComboBox.DataSource = dbSet.Where(x => x.CityID == selectedCity.CityID).ToList();
}
varComboBox.DisplayMember = place + "Name";
varComboBox.ValueMember = place + "ID";
}
答案 0 :(得分:0)
您需要将以下行更改为
varComboBox.DataSource = dbSet.Cities.Where(x => x.CityID == selectedCity.CityID).ToList();
答案 1 :(得分:0)
它是无效的,因为您在DBSet T中传递了一个通用参数。它对城市一无所知。
你需要使它非通用,例如 城市的DBSet或其他。