具有实体数据模型的MVC 2为外键返回Null

我正在创建我的第一个MVC 2应用程序。我已经按照我的书中的示例进行了操作,并创建了一个自动生成model.edms和model.designer.cs文件的ADO.NET实体数据模型。然后我在我的模型文件夹中创建了一个repository.cs文件来存储我的检索数据的方法。当我使用这些方法从表中检索对象时,foriegn键属性返回null。这是我的一种方法
    private LanTracerEntities2 entities = new LanTracerEntities2();

    public Employee FindEmployee(string empId)

    {
        var emp =  from employee in entities.Employees
               where employee.LogIn == empId
               select employee;

        return emp.FirstOrDefault();
    }
employee表具有以下列: ID EmpFName EmpLName EmpInitial 电话 登录 电子邮件 LOCID LocID是一个将它链接到Location表的foriegn键。当我运行该方法时,它返回除LocID之外的每个属性的值。 LocID为null。表格中有数据。这不是我唯一为foriegn键属性返回null的对象。如何获取返回FK值的方法?     
已邀请:
看起来你正在与错误的财产进行比较?鉴于参数的名称,我认为您可能希望与员工的ID进行比较:
    var emp =  from employee in entities.Employees
           where employee.ID == empId
           select employee;
说过你的主键应该是数字int / bigint - 如果是这样的话,请改为:
    int id = Convert.ToInt32(empId);
    var emp =  from employee in entities.Employees
           where employee.ID == id
           select employee;
如果您想将位置作为查询结果的一部分,您可以特别要求:
var emp =  from employee in entities.Employees.Include("Location") 
           ..
这应该在您检索员工记录时填充
Location
属性。     

要回复问题请先登录注册