为什么DbContext FirstOrDefault会忽略已添加的实体?

时间:2012-12-23 05:19:58

标签: entity-framework-5

我想在实体集中搜索我添加到它的对象 - 但它找不到对象

当我使用相同的entitytypename多次调用此proc时,它总是添加一个新对象。为什么呢?

private EntityRegister  GetEntityRegister(string entityTypeName)
    {
        var er = Db.EntityRegisters.FirstOrDefault(e => e.Name == entityTypeName);
        if (er == null)
        {
            er = new EntityRegister()

            {
                Name = entityTypeName 

            };
            Db.EntityRegisters.Add(er);


        }
        return er;
    }

1 个答案:

答案 0 :(得分:2)

你保存了更改吗?如果您没有保存更改,则FirstOrDefault将转到数据库,新添加的实体不在数据库中,因此FirstOrDefault返回null。