我有一个表单,用户可以通过该表单找到有关其同事的联系信息。
这是我的表格:
<label class="control-label col-sm-2" for="pwd">Name:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name"/>
</div>
</div>
<button class="btn btn-primary" type="submit">Search</button>
我的模型如下:
Person: idPerson, fname, lname, bdate, mail
Employee: idEmp, hireDate, idPosition, mailCorp, idPerson
我希望按名称查找员工(包含在fname或lname中)并显示名称和mailCorp,如何使用Linq获取此信息,如何在视图中显示此信息。 (我使用EF)
我尝试做这样的事情,但它不起作用
控制器
public ActionResult searchOnDirectory(Person per)
{
var query = from p in Person
join e in Employee
where e.Employee.fname.Contains(per.name)
select new {p.fname, p.lname, e.mailCorp};
return View(model); // I don't know how to send the select result
}
查看
@foreach (var per in Model)
{
<tr>
<!--<td></td>-->
<td>@per.fname @per.lname</td>
<td> @per.Employee.mailCorp </td>
</tr>
}
PD:对不起,我必须翻译我的所有代码,因为我说西班牙语
答案 0 :(得分:0)
未经测试,但我认为这是您要尝试的内容,您在查询中遗漏了on
。
var query = from p in Person
join e in Employee
on p.idPerson equals e.idPerson
where p.idPerson equals per.Name
select new {p.fname, p.lname, e.mailCorp};
如果您只是根据ID查找此人,为什么不只是查询?