Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用distinct的asp.net 4.5 MVC SQL @foreach(模型中的var项){string mytown=item.town.*在此处输入distinct*@mytown_C#_Sql_Asp.net Mvc_Distinct - Fatal编程技术网

C# 使用distinct的asp.net 4.5 MVC SQL @foreach(模型中的var项){string mytown=item.town.*在此处输入distinct*@mytown

C# 使用distinct的asp.net 4.5 MVC SQL @foreach(模型中的var项){string mytown=item.town.*在此处输入distinct*@mytown,c#,sql,asp.net-mvc,distinct,C#,Sql,Asp.net Mvc,Distinct,这将选择我数据库中的所有城镇名称,并将其显示在下拉菜单中 我如何更改它,使其在显示城镇名称时,仅显示每个城镇名称一次 例如,如果数据库中有3个伦敦人,它将在下拉菜单中显示所有3个伦敦人。我希望它只显示1个伦敦人 仅供参考:很抱歉,这看起来像是一个重新发布,但我之前发布了错误的代码为什么不将其转换为HashSet() var hs=新哈希集(模型); 给定,模型是否为IEnumerable 或者,在控制器中,通过将列表转换为哈希集,然后将其作为IEnumerable传递给模型来执行此操作 或者这

这将选择我数据库中的所有城镇名称,并将其显示在下拉菜单中

我如何更改它,使其在显示城镇名称时,仅显示每个城镇名称一次

例如,如果数据库中有3个伦敦人,它将在下拉菜单中显示所有3个伦敦人。我希望它只显示1个伦敦人


仅供参考:很抱歉,这看起来像是一个重新发布,但我之前发布了错误的代码

为什么不将其转换为
HashSet()

var hs=新哈希集(模型);
给定,
模型
是否为
IEnumerable

或者,在控制器中,通过将
列表
转换为
哈希集
,然后将其作为
IEnumerable
传递给模型来执行此操作

或者这个:


从Model.Distinct()中的y选择y

据我所知,如果使用ID作为值,则无法执行此操作

var hs = new HashSet<string>(Model);

更好的方法是使用LINQ。从数据库获取列表,然后在控制器
towns.Where(x=>x.Name==x.Name.Distinct();

进一步 内部控制器动作

ID | Value
1    Landon
2    Landon
3    Landon
4    Los Angeles
内部视图

ViewBag.towns = new SelectList(towns.Where(x => x.Name == x.Name.Distinct()).ToList(), "Value", "Text");

这是一个重新发布..但它不会改变您上一个问题的答案。请使用
Distinct
。您应该在控制器中执行此操作。@SimonWhitehead我向您道歉
ID | Value
1    Landon
2    Landon
3    Landon
4    Los Angeles
ViewBag.towns = new SelectList(towns.Where(x => x.Name == x.Name.Distinct()).ToList(), "Value", "Text");
 @Html.DropDownListFor(x => x.SelectedTown, new SelectList(ViewBag.towns, "ID", "Name", Model.SelectedTown))