我一直在使用实体框架,总是认为实体框架为程序员创建了一个抽象层,但我一直在问这种代码是否可行。当我创建一个实体并且不保存数据库上下文时,这个对象不能从上下文中拉出来!有线或我对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"));
}
答案 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");