У меня есть 2 базы данных, использующие EF w/MVC4. Я искал все через SO, чтобы воспользоваться. Мне нужно вернуть список предупреждений на частичный вид. Однако оповещения должны быть отфильтрованы определенным именем пользователя с определенным идентификатором. Вид строго типизирован, и я хотел бы сохранить его таким образом.Передача PartialView с помощью LINQ
У меня есть запрос LINQ, возвращающийся к списку, и это список имен пользователей, связанных с конкретным идентификатором. Вы можете видеть во втором случае, где нужно искать два стола. Я хочу сделать это без класса viewmodel.
Вот код:
public PartialViewResult DashboardAlerts()
{
Database.SetInitializer<AlertsContext>(null);
AlertsContext db = new AlertsContext();
Database.SetInitializer<MemberUsersContext>(null);
MemberUsersContext mdb = new MemberUsersContext();
var members = new List<MemberUsers>(mdb.MemberUsers);
var alerts = new List<Alerts>(db.Alerts);
var query = from x in alerts
join y in members
on x.username equals y.username
where y.clubID == (int)Session["ClubID"]
select new { username = y.username};
var list = query.ToList();
switch (Session["RoleName"].ToString())
{
case "GMC Admin": return PartialView(db.Alerts.ToList());
case "Club Admin": return //return db.Alerts.ToList() that has only usernames from query.ToList();
default: return PartialView(db.Alerts.Where(x => x.username == User.Identity.Name).ToList());
}
}
Bottom Line: Я хочу перекрестные ссылки db.Alerts только значения из запроса к спискам учётных собственности.
Считаете ли вы использование ViewBag для отправки его на просмотр? –
Могу ли я сохранить его строго набранным с помощью ViewBag? – ApolloSoftware
Viewbag и модель - это отдельные способы передачи данных в представление и являются взаимоисключающими. Поскольку viewbag является динамическим объектом, вы можете просто добавить элемент в ViewBag в Action, а затем в режиме просмотра, чтобы узнать, существует ли это значение и что на нем делается код. –