检查导航属性是否为null Entity Framework

时间:2012-11-21 03:04:15

标签: entity-framework entity-framework-4

我有一个包含用户的模型。每个用户必须拥有一个Person记录。个人记录可能有也可能没有地址记录。

当我获取当前登录的用户地址时,我正在使用以下内容,这对我来说似乎非常混乱。有更好的方法吗?

public Address GetAddress()
    {
        using (eziTraceEntities db = new eziTraceEntities())
        {
            if (db.Users.Where(u => u.ID == Globals.UserID).FirstOrDefault().Person.Address != null)
                return db.Users.Where(u => u.ID == Globals.UserID).FirstOrDefault().Person.Address;
            else
                return new Address();
        }
    }

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用null coalesce operator

using (eziTraceEntities db = new eziTraceEntities())
    {
        return db.Users.Where(u => u.ID == Globals.UserID).FirstOrDefault().Person.Address ?? new Address();
    }