我们有没有正确设置外键的数据库。我们现在使用此数据库生成edmx。我们想要的是设置导航属性,以便我们可以从其他表中获取相应的详细信息。以下是我们正在寻找的具体内容。
让我们说有一个表员工和部门。现在在数据库中,这些表之间没有关系,但Employee的DepartmentId取自Department表。
当我们获取Employee时,我们只获得DepartmentID,但我们也希望将Department作为属性,以便我们可以获得类似于" DepartMentName"," Location"它存储在Department表中。
我们尝试在EDMX文件中添加Navigation属性但它失败并继续给出与关系相关的错误。
请帮忙
答案 0 :(得分:4)
你可以选择这样的东西。为Employee和Department创建一个包装类。
public class EmpDept
{
public Employee Employee {get; set;}
public Department Department {get; set;}
}
public IEnumberable<EmpDept> GetEmployeesWithDeptpartment()
{
var result = from e in context.Employee
where e.Id == somevalue
select new EmpDept()
{
Employee = e,
Department = context.Department.Where(d => d.Id == e.DepartmentId)
};
return result.ToList();
}
这意味着你有一个额外的类,但它编码快速简单,易于扩展,可重用和类型安全。
希望这有帮助