我正在MVC中处理迷你项目,我在其中执行CRUD操作。 我有3张桌子: 员工:PK:EmpID 薪水:Fk:EmpID 图片:Fk:EmpID 我在两个html页面之间导航并将PK从one.html传递到two.html。 我想访问two.html上的Salary and Images表的数据,我有Employee表的主键,它是其余两个表中的外键。
我想读取附加到EmpID的所有数据,这些数据在Salary and Images表中被视为FK。 EmpID在Employee表中只有一行(PK) EmpID在Salary and Images表(FK)中有多行
提前谢谢
答案 0 :(得分:1)
var employeeImages = _dbContext.Images.Where(i => i.EmpID == 21).ToList();
其中21
是您在操作方法中收到的员工ID参数。
同样,您可以查询以下工资:
var employeeSalaries = _dbContext.Salaries.Where(i => i.EmpID == 21).ToList();
或者同一个电话中的两件事:
var employee = _dbContext.Employee.Where(e => e.Id == 21).Include(e => e.Images).Include(e => e.Salaries).ToList();
如果您正在使用生产应用程序,直接从控制器调用DbContext
不是一个好主意。您可能还想查看EF's documentation。
此外,当您在控制器层工作时,不要考虑FK和PK方面的问题。这些只是领域模型。从标识符的角度考虑这些。一旦我们达到数据库级别(至少不应该是控制器),FK和PK只会进入游戏。