Что такое простой способ вернуть результат запроса LINQ к представлению?Результат LINQ для просмотра
У меня есть запрос LINQ в моем контроллере, который получает результат из базы данных, но я потерял его, как вернуть его в представление.
Контроллер:
public ActionResult Index()
{
if (Session["UserId"] == null)
{
return RedirectToAction("Index", "Login");
}
else
{
EmployeeHomeViewModel model = new EmployeeHomeViewModel();
var UserId = from x in db.Employees
where x.Employee_Id == Convert.ToInt32(Session["UserId"])
select x;
//DISPLAY RESULT
var project = from x in db.Projects
where x.Employee_Id == Convert.ToInt32(Session["UserId"])
select x;
foreach (Project result in project)
{
model.Project.Project_Id = result.Project_Id;
model.Project.Project_Name = result.Project_Name;
model.Project.Project_Detail = result.Project_Detail;
}
//DISPLAY RESULT
}
return View();
}
Вид:
@model ProjectManager.ViewModels.EmployeeHomeViewModel
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div>Hello, @Html.DisplayFor(model => model.Employee.Employee_FirstName)</div><br />
<div>Current project: @Html.DisplayFor(model => model.Project.Project_Id)</div><br />
<div>Project name: @Html.DisplayFor(model => model.Project.Project_Name)</div><br />
<div>Details: @Html.DisplayFor(model => model.Project.Project_Detail)</div><br />
Модель:
public class EmployeeHomeViewModel
{
public Employee Employee { get; set; }
public Project Project { get; set; }
}
Edit:
Чтобы быть ясным, прежде чем даже будучи в состоянии вернуть результат в запросе LINQ к тем, я должен исправить ошибку, которая происходит выполнение запроса в моем цикле Еогеасп:
LINQ к Entities не распознает метод «Int32 ToInt32 (System.Object)» метод, и этот метод не может быть переведен в магазин выражение
Сделал это, но я получил эту ошибку в своем foreach. LINQ to Entities не распознает метод 'Int32 ToInt32 (System.Object)', и этот метод не может быть переведен в выражение хранилища. –
Это [совершенно другой вопрос] (http://stackoverflow.com/q/10117681/1810429) ... [на который уже был дан ответ на SO] (http://stackoverflow.com/a/10117941/1810429). (В принципе, добавьте '.Value' в конец каждого оператора в' foreach'.) – J0e3gan
Я не могу .. нет метода .Value. –