You can build a class, that have got all the fields you need: id, name, achievement (or list of them if you have got one-to-many), date and so on - everything you need. So, for example, this class is named EmployeeAchievement
. Then, you just modify your current ViewModel to have field of a type List<EmployeeAchievement>
named EmplAch
. Then, you have to build your view model:
YourViewModel model = new ViewModel();
model.EmplAch = (from emp in db.EmployeeAchievements
join empInfo in emp_db.EmployeeInformation
emp.EmployeeID == empInfo.EmployeeID
select new EmployeeAchievement
{
EmployeeID = emp.EmployeeID,
AchievementId = emp.id,
Date = emp.DateAchieved,
Achievement = emp.Achievement
});
So, in your view you can use:
@for (int i = 0; i < model.EmplAch.Count; i++)
{
<tr valign="top">
<td>
<div class="editor-field">
@Html.EditorFor(model => model.EmplAch[i].EmployeeID)
@Html.ValidationMessageFor(model => model.EmplAch[i].EmployeeID)
</div>
</td>
// Display employee name next
}