当我做一个项目时,我在一个地方感到困惑,只能从表中检索唯一值。对于我在linq查询中的不同的groupby子句,但是我遇到了一些错误。我有两个表,类别表的id是外键,我需要从另一个库表中只检索不同的id
模型
public ActionResult GalleryCata()
{
var res = db.Galleries.ToList();
return View(res);
}
这是modelid是图库类的外键的模型
控制器
@model List<ThaniyamBank.Models.Gallery>
@for (var j = 0; j < Model.Count(); j++)
{
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">
<div class="hovereffect">
<img src="@Url.Content("~/GalleryImages/" + @Html.DisplayFor(m => m[j].Image))" class="img-responsive" alt="" />
<div class="overlay">
<h2>@Html.DisplayFor(m => m[j].Category.CategoryName) </h2>
<a class=" fancybox info " href="@Url.Content("~/GalleryImages/" + @Html.DisplayFor(m => m[j].Image))" data-fancybox-group="gallery"><i class="fa fa-eye" aria-hidden="true"></i></a>
<a class="info " href="gallery.html"><i class="fa fa-link" aria-hidden="true"></i></a>
</div>
</div>
</div>
}
视图
method.apply(target, …
我需要根据类别显示图像。当我运行应用程序时,我从表中获取所有图像,而不是基于类别。谁能帮我解决问题?
答案 0 :(得分:0)
Select
告诉EF检索某个值,因此db.Galleries.Select(x=>x.CategoryId)
返回一个整数集合,因此您会收到错误消息。
您想要的是使用Where
子句:
var res = db.Galleries.Where(x => x.CategoryId == selectedCategoryId).ToList();
返回IList<Gallery>
。您需要将int selectedCategoryId
传递给您的操作。
Distinct
。