![](/img/trans.png)
[英]How do I get a distinct, ordered list of names from a DataTable using LINQ?
[英]I cant get ordered by id items when using distinct
我为此付出了很多努力,并尝试了很多版本,但对我来说却不起作用,我需要按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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.