保存对象并立即将其检索回来

时间:2013-11-08 19:06:43

标签: c# visual-studio entity-framework ado.net

我想保存一个对象,然后从数据库中检索它,但不知何故保存工作,但检索返回null。

public static Work startWork(Work work)
{
   Context.context.Work.AddObject(work);
   Context.context.SaveChanges();
   Work result = (from r in Context.context.Work
                  where r.ReceiptID == work.ReceiptID && r.begin == work.begin
                  select r).FirstOrDefault();
   return result;
}

所以我传递一个已经设置了beginReceiptID的工作实例,以便我可以检索它,但它只返回null。

2 个答案:

答案 0 :(得分:2)

更新对象后,您可以调用ObjectContext.Refresh方法让EntityFramework从数据库中获取对象的最新数据。

答案 1 :(得分:1)

试试这个:

Work newWork = Context.context.Work.Add(work);

这将使您可以访问新创建的对象。 marc_s有正确的想法。 work对象未被分配ReceiptID,因为它表示您提交给函数的对象,而不是您保存到Db的对象。