我对此感到不安并尝试了很多版本,但它对我不起作用我需要按 id 获得不同的排序。我知道在分开之后我需要对我的列表进行排序,但我无法获得任何标识符。我得到的结果没有逻辑顺序(1,2,8,4,5,6,9)。请告诉我.
public class TakeAway
{
public int TakeAwayId { get; set; }
public int GenreId { get; set; }
public virtual Genre genre { get; set; }
}
public class Genre
{
public int GenreId { get; set; }
public string GenreName { get; set; }
public List<TakeAway> TakeAwys { get; set; }
}
var allDishGenre =
db.TaKeAways.Select(x => x.genre.GenreName).Distinct().OrderBy(g => g).ToList();
ViewBag.GenreTab = allDishGenre;
这个:
db.TaKeAways.Select(x => x.genre.GenreName).Distinct()
返回一个不同的名称列表(字符串),这些名称没有任何标识符。你需要:
db.TakeAways
.GroupBy(ta => ta.genre.GenreName)
.Select(g => g.FirstOrDefault())
.OrderBy(ta => ta.TakeAwayId)
.ToList()