我已将Entity Framework 4.0 POCO实体用于当前项目中的持久层。
我使用DTO将数据从服务层发送到UI层。存储库和服务层内部使用了POCO。
有一个映射层可以映射(DTO到域(POCO)和(域(POCO)到DTO)。目前,我们手动跟踪这些变化。
例如,如果实体id为零,我们假设该实体是新实体,如果不是实体则是更新。
除了在Entity Framework 4.0中手动实现IsTransient(New),IsDirty(Update)或IsDeleted(Delete)属性外,还有什么方法可以实现这个目的吗?
答案 0 :(得分:2)
如果您使用自定义DTO,则必须始终实施自己的更改跟踪。
EF 4仅提供self tracking entities,但这需要您直接使用这些实体而不是DTO,它们还有其他一些缺点。