Я читал похожие вопросы по SO, но, похоже, не могу решить эту проблему, которая характерна для объектов DBContext (я думаю).Вот некоторый фиктивный код для иллюстрации.
У меня есть следующий код в моем действии Index ():
public ActionResult Index()
{
AnimalDBContext db = new AnimalDBContext();
return View(db.Dogs);
}
У меня есть следующий код для моих моделей:
public class Dog
{
public int ID { get; set; }
public string name { get; set; }
public string breed { get; set; }
}
public class AnimalDBContext : DbContext
{
public DbSet<Dog> Dogs { get; set; }
}
На мой взгляд, у меня есть следующее:
@model IEnumerable<AnimalProject.Models.Dog>
@foreach (var d in Model)
{
<h3>@d.name</h3>
<h2>@d.breed</h2>
}
Все отлично работает, представление будет перебирать каждую собаку в моей базе данных.Однако у меня есть другой набор данных DBContext из другой таблицы, который я хочу в том же представлении.Я хочу иметь возможность перечислять каждый элемент в базе данных для этой таблицы.
Это то, что я хочу, если вы поймете мой дрейф:
@model IEnumerable<AnimalProject.Models.Dog>
@model IEnumerable<AnimalProject.Models.Cat>
@foreach (var d in Dog)
{
<h3>@d.name</h3>
<h2>@d.breed</h2>
}
@foreach (var c in Cat)
{
<h3>@c.name</h3>
<h2>@c.breed</h2>
}
Я попытался сгруппировать классы вместе и использовать частичное представление, но, очевидно, у вас не может быть другой моделив частичном представлении, потому что я всегда получаю сообщение об ошибке:
"Элемент модели, переданный в словарь, имеет тип 'System.Data.Entity.DbSet 1[AnimalProject.Models.Dog]',
but this dictionary requires a model
item of type
'System.Collections.Generic.IEnumerable
1 [AnimalProject.Models.Cat] '. "
Итак, как я могу использовать в моём представлении несколько моделей, которые обе получают нужные данные из отдельных таблиц в базе данных?