Я работаю над приложением приюта для животных. У меня есть AnimalInitializer.cs в моем DAL, и я разбил его на собак и кошек по видам. В моем контроллере я хочу видеть список собак для одного ActionResult и список кошек для другого ActionResult. Все они возвращаются как собаки, когда я запускаю представление ShowDogs, и ничего не возвращается в представлении ShowCats.
Модель питомца:
public enum SpeciesType { Dog, Cat }
public class Pet
{
public SpeciesType SpeciesType { get; set; }
}
Семя AnimalInitializer:
var dogs = new List<Dog>
{
new Dog { SpeciesType = SpeciesType.Dog, Breed = "German Shepherd" }
}
var Cats = new List<Cat>
{
new Cat { SpeciesType = SpeciesType.Cat, Breed = "Domestic Long Haired" },
}
PetController:
public ActionResult ShowDogs()
{
var dogs = db.Pets.Where(d => d.SpeciesType == SpeciesType.Dog);
return View(dogs.ToList());
}
public ActionResult ShowCats()
{
var cats = db.Pets.Where(c => c.SpeciesType == SpeciesType.Cat);
return View(cats.ToList());
}
ShowDogs View:
@model IEnumerable<AnimalShelter1.Models.Pet>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Breed)
</th>
<th>
@Html.DisplayNameFor(model => model.SpeciesType)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Breed)
</td>
<td>
@Html.DisplayFor(modelItem => item.SpeciesType)
</td>
</tr>
}
</table>
ShowCats View:
@model IEnumerable<AnimalShelter1.Models.Pet>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.SpeciesType)
</th>
<th>
@Html.DisplayNameFor(model => model.Breed)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.SpeciesType)
</td>
<td>
@Html.DisplayFor(modelItem => item.Breed)
</td>
</tr>
}
</table>
![ShowDogs view](https://i.stack.imgur.com/Fmio0.jpg)
![ShowCats view](https://i.stack.imgur.com/DlVgU.jpg)