PetaPoco/NPoco - 具有(子)集合属性的保存对象

本文关键字:属性 集合 保存 对象 NPoco 具有 PetaPoco | 更新日期: 2023-09-27 18:34:38

我正在将NPoco与SQL Server一起使用,并且有一个包含集合属性的父对象。这一切都使用FetchOneToMany加载良好。

我想保存父对象和子集合。将父集合传递给 Update(( 或 Insert(( 不会更改子集合的数据库。我是否必须手动循环访问子集合并根据需要删除/插入/更新每个项目?

我不介意手动执行此操作;我在事务中有代码,但它删除了集合中的所有对象,并重新添加了新对象,这似乎有点狡猾。

所以,我

真的需要问一下,以防万一有更好的方法,我可能会错过。

谢谢。

PetaPoco/NPoco - 具有(子)集合属性的保存对象

是的,您必须手动执行此操作。

为避免删除然后插入,您必须在 UI 中保留项目 ID(我总是有一个自动增量主键(并将它们发布到后端,以便您可以更新、插入或删除。

我使用 MVC ASP.net 在那里我保留了一个带有 ID 的隐藏字段的所有项目的列表。在我的 UI 中,删除项目的唯一方法是清除所有字段,但隐藏的 ID 仍然存在,因此稍后我可以删除数据库中的项目。对于插入/更新,这很容易,因为您只需要检查ID是否为空。