【问题标题】:Entity framework set navigation property实体框架集导航属性
【发布时间】:2013-10-04 03:56:41
【问题描述】:

我们的数据库没有设置正确的外键。我们现在正在使用这个数据库生成 edmx。我们想要的是设置导航属性,以便我们可以从其他表中获取相应的详细信息。这是我们正在寻找的示例。

假设有一个表 Employee 和 Department。现在在数据库中,这些表之间没有关系,但 Employee 具有从 Department 表中获取的 DepartmentId。

当我们获取 Employee 时,我们只获取 DepartmentID,但我们还希望获取 Department 作为属性以及它,以便我们可以获取存储在 Department 表中的诸如“DepartMentName”、“Location”之类的信息。

我们尝试在 EDMX 文件中添加 Navigation 属性,但它失败并不断给出与关系相关的错误。

请帮忙

【问题讨论】:

标签: c# sql entity-framework navigation-properties


【解决方案1】:

你可以用这样的东西。为 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();
}

这意味着您有一个额外的类,但它可以快速轻松地编写代码、易于扩展、可重用且类型安全。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多