在Breeze for.NET中,如何将DTO与实体框架实体一起保存?
在官方文件中,提到DTO可以用作breeze实体: 它不必是ORM类。它可能是一个DTO类,您稍后将通过BeforeSaveEntities的实现将其映射到业务模型中的一个类中 在Ward Bell的一份报告中,他提出了以下与EF实体一起保存DTO的策略:在Breeze for.NET中,如何将DTO与实体框架实体一起保存?,breeze,Breeze,在官方文件中,提到DTO可以用作breeze实体: 它不必是ORM类。它可能是一个DTO类,您稍后将通过BeforeSaveEntities的实现将其映射到业务模型中的一个类中 在Ward Bell的一份报告中,他提出了以下与EF实体一起保存DTO的策略: 从EntityInfos中删除DTO 从Db中检索相应的业务模型实体(如果这是插入,则创建这样的实体) 从DTO更新此副本 将此实体添加到EntityInfos(不要忘记更新的OriginalValues属性) 冲洗并重复所有此类DTO 让它
internal
。如何使用适当的EF实体创建EntityInfo
此建议的一种替代方法是重写SaveChangeCore方法,并在该方法中处理DTO到EF实体的映射。这样做的缺点是EFContextProvider.SaveChangesCore有很多代码,我不想重复这些工作。我找到了ContextProvider.CreateEntityInfo()。它有一个重载,用于接受实体并设置EntityInfo.entity属性。我找到了ContextProvider.CreateEntityInfo()。它具有接受实体并设置EntityInfo.entity属性的重载