代码之家  ›  专栏  ›  技术社区  ›  atam

nhibernate:需要在更新之前附加引用(t entity)?

  •  0
  • atam  · 技术社区  · 15 年前

    我是,使用nhibernate i de后端构建一个n层系统,它使用rest/json与前端通信。

    当我将一个对象发送到后端时,我只发送如下数据:

    myAddress: [

    guid:“1”, 街道:“我的家园”,

    房号:“34”,

    城市:“6”

    ]

    所以,我只发送引用的城市实体的ID。 当我将其反序列化到我的实体(服务器端,到达时)时,我会丢失这个数字,因为服务器端引用是一个真实的对象,而不是一个ID,并且变为空。

    然后nhibernate会更新地址,但会删除数据库中的引用。

    那么,在执行dao.update(myaddress)之前,我真的需要使用relation为我的实体获取al引用属性,然后使用id(本例中的6)检索本地城市实体(dao.get(6))并设置所有引用吗????

    如果每次服务器接收到更新时都需要(从缓存或数据库)获取所有引用,那么对于实现更新来说,这确实是一个过分的杀伤力。

    还是有别的办法?

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  2
  •   Diego Mijelshon    15 年前

    您不需要从数据库加载引用。

    如果你有身份证, session.Load<TheEntity>(theId) 返回所请求实体和ID的代理,而不转到数据库。