保存从WCF服务收到的实体

时间:2009-10-03 08:19:13

标签: wcf nhibernate

在我的应用程序中,我需要使用从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.
}

谢谢, 奥克萨娜。

2 个答案:

答案 0 :(得分:1)

我不确定这个问题。如果您是NHibernate的新手,请查看术语cascade的文档。这定义了必须保存包含其他对象的对象时保留的内容。

答案 1 :(得分:1)

据我了解,你想要更新对象的某些属性(如果它已经存在,并且没有触及其他属性)是正确的吗?

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

  • 建立NHiberate会议
  • 基于某个ID,从数据库加载对象的当前状态
  • 从您在服务电话中收到的实体更新要更新的属性
  • 将修改后的对象保存回来

使用这种方法,您只会更新所需的属性,而其他所有内容都将保持不变。

这看起来像是一种可以使用的方法吗?

马克