使用 N-Tier Entity Framework,如何访问已标记为已删除的实体?
Using N-Tier Entity Framework, how can I access an entity that has been marked as deleted?
注意:我的项目使用的是 N 层 Entity Framework (https://ntieref.codeplex.com/),这与常规 Entity Framework.
不同
在客户端,当我尝试访问已标记为已删除的实体时,它没有出现在我的 foreach 循环中。
foreach (var entity in DataContext.EntitySet.Where(x => x.ChangeTracker.State == ObjectState.Deleted))
我无法访问标记为已删除的实体。
var entity = DataContext.EntitySet.Where(x => x.ChangeTracker.State == ObjectState.Deleted).FirstOrDefault();
@ChristofSenn 在保存更改之前,如何在客户端中访问标记为已删除的实体?
标记为已删除的实体是隐藏的,并且在枚举实体集时不会返回。
要获取所有实体(即包括已删除的实体),您可以使用以下方法:
接口:
IEntitySet<TEntity>.GetAllEntities();
样本:
foreach (var entity in DataContext.EntitySet
.GetAllEntities()
.Where(x => x.ChangeTracker.State == ObjectState.Deleted))
注意:我的项目使用的是 N 层 Entity Framework (https://ntieref.codeplex.com/),这与常规 Entity Framework.
不同在客户端,当我尝试访问已标记为已删除的实体时,它没有出现在我的 foreach 循环中。
foreach (var entity in DataContext.EntitySet.Where(x => x.ChangeTracker.State == ObjectState.Deleted))
我无法访问标记为已删除的实体。
var entity = DataContext.EntitySet.Where(x => x.ChangeTracker.State == ObjectState.Deleted).FirstOrDefault();
@ChristofSenn 在保存更改之前,如何在客户端中访问标记为已删除的实体?
标记为已删除的实体是隐藏的,并且在枚举实体集时不会返回。 要获取所有实体(即包括已删除的实体),您可以使用以下方法:
接口:
IEntitySet<TEntity>.GetAllEntities();
样本:
foreach (var entity in DataContext.EntitySet
.GetAllEntities()
.Where(x => x.ChangeTracker.State == ObjectState.Deleted))