0

我想将从服务器发送的实体设置为“添加”。看起来 entityaspect 有方法 setdeleted、setmodified 等...但我似乎找不到一个名为 setadded... 将实体设置为“添加”的最干净的方法是什么?我在想也许我需要分离然后附加为“添加”。我有一个名为“newdeal”的服务器方法,它创建了一个准备好输入数据的新实体...此方法具有我希望将其保留在服务器上的业务逻辑...当它到达客户端时,实体被标记为“未修改”这是有道理的...但我想将其更改为“添加”...

谢谢你

4

2 回答 2

1

@giancarloa,我假设当实体从服务器发送到客户端时,它已经保存在数据库中。如果是这种情况,将其 entityState 设置为已添加是没有意义的,因为它会导致重复错误。如果这不是它的工作原理,请详细解释你在做什么,因为我试图了解你正在采取的所有步骤。

我也很困惑为什么在服务器中创建一个实体,将其发送到客户端,更新它,然后将其发送回服务器以将其保存在数据库中 - 这似乎会导致更多流量并可能降低性能. 另外,用户决定不保存什么?- 那么服务器中的工作就会被浪费掉。

为什么不在客户端创建实体,如果它被保存,那么业务逻辑将在 beforeSaveEntity/beforeSaveEntities 期间启动服务器?

于 2013-06-28T17:14:54.067 回答
0

我有一个类似的问题。轻而易举地期望从服务器返回的实体已经存在于您的数据库中。如果您的服务器从其他来源(不是数据库)获取实体,将它们返回给客户端,然后用户可以决定这些实体是否真的应该插入到数据库中,则情况并非如此。

正如您所指出的,您必须做的是跳过将实体添加到客户端实体管理器中的代码。稍后,您可以将分离的实体添加到 Entitymanager。

有关更多详细信息,请参阅以下答案。 https://stackoverflow.com/a/18596070/174638

于 2013-09-03T15:36:13.257 回答