作为 MVC 和实体框架的新手,我在执行复杂的数据查询时遇到了很多问题。我正在使用 Database First 方法,我需要了解从单独的数据库中提取相关数据的最佳方法。我已经连接到数据库并创建了 edmx 文件以及现有数据库中的模型。我将简化问题示例:如果我有一张包含员工信息的表:
Employee_Information(EmployeeID, FullName, Address, Phone)
然后我有第二个(在另一个数据库中)
Employee_Achievements(EmployeeID, Achievement, DateAchieved)
如何将这两者联系在一起以在视图中提取员工的信息(姓名、地址等)?我最初的想法是进行连接,然后将其传递给视图:
var employee = from emp in db.EmployeeAchievements
join empInfo in emp_db.EmployeeInformation
emp.EmployeeID == empInfo.EmployeeID
我遇到的问题是我已经在使用 ViewModel,其中有多个模型被传递给视图。我需要能够一次将多个员工的信息与视图中的类似内容联系起来:
@for (int i = 0; i < model.EmployeeAchievements.Count; i++)
{
<tr valign="top">
<td>
<div class="editor-field">
@Html.EditorFor(model => model.EmployeeAchievements[i].EmployeeID)
@Html.ValidationMessageFor(model => model.EmployeeAchievements[i].EmployeeID)
</div>
</td>
// Display employee name next
可能使用 ViewBag?或者有没有办法可以跨数据库关联外键?请记住,这是数据库优先,因此会生成 edmx 和模型文件。我还没有找到我在这里尝试做的任何好的例子。我会很感激任何帮助,如果需要可以提供更多细节。