使用EF Core 1.1
实体模型
public class ParentEntity
{
public Guid Id { get; set; }
public string Name { get; set; }
public ICollection<ChildEntity> ChildEntities{ get; set; }
}
public class ChildEntity
{
public Guid Id { get; set; }
public string Name { get; set; }
public bool IsDeleted { get; set; }
public Guid ParentEntityId { get; set; }
public ParentEntity ParentEntity { get; set; }
}
ChildEntity
只能通过更新ParentEntity
来操纵。
所以我有一个存储库类,其中包含ParentEntity
public class Repository
{
public async Task UpdateParentEntity(ParentEntity updatedParentEntity)
{
// Implementation Logic
}
}
实施逻辑是这样的:
ParentEntity.ChildEntity
中的updatedParentEntity
EXISTS但不在数据库中那么添加EXISTS in the database BUT NOT in the
updatedParentEntity THEN set the
IsDeleted` property = true 我是通过一个涉及大量循环的“强力”实现来完成的,但我想知道Entity Framework和LINQ是否提供了更优雅的方式来处理这种情况?