nehmen Wenn ich ein Projekt mache, wurde ich an einem Ort verwirrt, um nur eindeutigen Wert aus der Tabelle abzurufen. dafür habe ich distinct, groupby-Klauseln in der linq-Abfrage, aber ich habe einen Fehler bekommen. Ich habe zwei Tabellen und die ID der Kategorie Tabelle Fremdschlüssel und ich brauche nur eindeutige ID aus der eine andere Galerie Tabelle abzurufenWie man verschiedene Werte von der Tabelle aus dem Fremdschlüssel in MVC Rasiermesser
Modell
public partial class Gallery
{
public int Id { get; set; }
public int CategoryId { get; set; }
public string ImageTitle { get; set; }
public string Image { get; set; }
public virtual Category Category { get; set; }
}
public Category()
{
this.Galleries = new HashSet<Gallery>();
}
public int Id { get; set; }
public string CategoryName { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Gallery> Galleries { get; set; }
}
dieses Modell ist die categoryid ist der Fremdschlüssel für die Galerie Klasse
Controller
public ActionResult GalleryCata()
{
var res = db.Galleries.ToList();
return View(res);
}
Ansicht
@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>
}
Ich muss die Bilder basierend auf der Kategorie anzeigen. Wenn ich die Anwendung starte, bekomme ich alle Bilder aus der Tabelle und nicht nach der Kategorie. Kann mir bitte jemand helfen, das Problem zu lösen ??
Ich sehe keine "distinct, groupby". Zeigen Sie, was Sie versucht haben, was wahrscheinlich klarstellt, was Sie mit "einzigartig" meinen. Und zeigen Sie den Fehler. "Ich habe einen Fehler" bedeutet nicht viel. –
wenn ich gebe var res = db.Galleries.Select (x => x.CategoryId) .Distinct(). ToList(); Im Controller wurde der Fehler gefunden Das an das Wörterbuch übergebene Modellelement ist vom Typ 'System.Collections.Generic.List'1 [System.Int32]', aber für dieses Wörterbuch ist ein Modellelement vom Typ 'System.Collections.Generic.List' erforderlich '1 [A.Models.Gallery] '. – user256
Ziemlich klare Fehlermeldung, nicht wahr? –