C# Nhibernate唯一约束FK对象

C# Nhibernate唯一约束FK对象,c#,nhibernate,constraints,C#,Nhibernate,Constraints,我有一个包含多个子类的类 public class BaseClass{} public class SubClass : BaseClass { public SomeClass someClass { get; set; } } 我还有一个类SomeClass,它有一个唯一的约束,通过创建一个新类,这个约束经常被违反。 这就是我想做的: SubClass toBeSaved = new SubClass(){ someClass = new SomeClass("Uniqu

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

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 Exception和数据库中的someclass将加载到my
toBeSaved
对象中的someclass中。有办法吗


我试图为每个
子类编写一个唯一的save方法,但当我从基类调用它时,它没有起作用。类似于:
InsertIntoDb((基类)子类)
,但我认为这是不可能的。

为了现在保存基类,我使用visitor模式。 所以我将基类发送给我的访问者,他正在保存所有的子类。因此,我可以配置我的约束以及它们在访问者中的保存方式。 我在网上找到了一篇关于这个图案的帖子