e-m*_*mre 35 entity-framework entity-framework-4
请考虑以下代码:
var Products_First = (from Entities.Product p in myContext.Product
select p);
Entities.Product newProduct = new Entities.Product();
newProduct.Name = "New Product";
myContext.Products.AddObject(newProduct);
var Products_Again = (from Entities.Product p in myContext.Product
select p);
Run Code Online (Sandbox Code Playgroud)
请注意,此处Products_Again
查询时未保存上下文,即myContext.SaveChanges()
未调用.
Products_Again
包含与...相同数量的产品Products_First
.为什么是这样?Product
由同一上下文对象添加和跟踪新的.为什么我在新查询结果中看不到新产品?
将新对象添加到上下文后,是否有办法在不保存更改的情况下到达新对象?
Cra*_*ntz 36
类型的属性ObjectQuery<T>
,如myContext.Product
,始终查询数据库.这就是他们所做的.
在EF 4.1中,您可以使用DbSet<T>.Local
查询内存.
在EF <4.1中,您将使用:
ObjectContext.ObjectStateManager.GetObjectStateEntries(EntityState.Added).Select(o => o.Entity).OfType<Product>()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8161 次 |
最近记录: |