Nhibernate唯一约束FK对象

时间:2014-11-12 07:57:13

标签: c# nhibernate constraints

我有一个包含多个子类的类

public class BaseClass{}
public class SubClass : BaseClass 
{
   public SomeClass someClass { get; set; }
} 

我有一个其他类SomeClass,它有一个独特的约束,通常会通过创建一个新类来违反。 这就是我想做的事情:

SubClass toBeSaved = new SubClass(){
   someClass = new SomeClass("UniqueConstraintForSomeClass")
};
session.Save(toBeSaved );

如何阻止UniqueConstraintFailed Except,我的DB中的someclass将加载到我的toBeSaved对象中的someclass中。有没有办法做到这一点?

我尝试为每个SubClass编写一个独特的保存方法,但是当我从基类调用它时,我没有得到它。类似于:InsertIntoDb((BaseClass) SubClass),但我认为这是不可能的。

1 个答案:

答案 0 :(得分:0)

为了现在保存baseClass我使用访问者模式。 所以我发送了我的访客BaseClass,他正在保存所有的子类。所以我可以配置我的约束以及它们如何保存在访问者中。 我在http://mookid.dk/oncode/archives/991

上找到了关于此模式的好文章