【问题标题】:Save entities received from WCF service保存从 WCF 服务接收的实体
【发布时间】:2009-10-03 08:19:13
【问题描述】:

在我的应用程序中,我需要保存从 WCF 服务接收到的 NHibernate 实体。

目前我正在为此使用会话 SaveOrUpdate 方法。

通常我们不需要编辑引用属性,所以我从客户端收到对象,它有空集合。但我不希望这个空集合反映在数据库中。

例子:

public class Product
{
    public virtual string Name {get;set;}
    public virtual IList<Stores> Stores {get;set;} <--- Stores is empty, but should not be cleared in databse.
}

谢谢, 奥克萨娜。

【问题讨论】:

  • 能否更详细地解释一下您的问题?

标签: wcf nhibernate


【解决方案1】:

据我了解,如果对象已经存在,您想更新对象的某些属性,并且不接触其他对象,对吗?

嗯,基本上,在这种情况下,您需要做的是:

  • 建立 NIBerate 会话
  • 根据某个ID,从数据库中加载对象的当前状态
  • 从您在服务调用中收到的实体更新您想要更新的属性
  • 保存修改后的对象

使用这种方法,您将只更新您想要的那些属性,而其他所有内容都不会受到影响。

这似乎是您可以使用的一种方法吗?

马克

【讨论】:

  • 感谢您的回答,这正是我需要的!奥克萨娜
【解决方案2】:

我不确定是否理解这个问题。如果您是 NHibernate 的新手,请查看带有术语 cascade 的文档。这定义了当包含其他对象的对象必须被保存时持久化的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多