实体框架从内存中拉取对象

时间:2011-07-10 20:33:40

标签: entity-framework

我一直在使用实体框架,总是认为实体框架为程序员创建了一个抽象层,但我一直在问这种代码是否可行。当我创建一个实体并且不保存数据库上下文时,这个对象不能从上下文中拉出来!有线或我对EF感到困惑!?!

   using (Entites db = new Entites())
            {
                tblSysState state = new tblSysState()
                                        {
                                            Id = Guid.NewGuid(),
                                            Code = "k",
                                            Description ="Just teste"
                                        };

                db.tblSysState.AddObject(state);
                Object ft = db.tblSysState.SingleOrDefault(x => x.Code.Equals("k"));


            }

1 个答案:

答案 0 :(得分:1)

有可能但不能查询ObjectSet本身。您必须访问上下文的内部存储。这样的事情应该有效:

var state = db.ObjectContext
              .GetObjectStateEntries(EntityState.Added)
              .Where(e => !e.IsRelationship)
              .Select(e => e.Entity)
              .OfType<tblSysState>()
              .SingleOrDefault(e => e.Code == "K");