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将加载到mytoBeSaved
对象中的someclass中。有办法吗
我试图为每个
子类编写一个唯一的save方法,但当我从基类调用它时,它没有起作用。类似于:InsertIntoDb((基类)子类)
,但我认为这是不可能的。为了现在保存基类,我使用visitor模式。
所以我将基类发送给我的访问者,他正在保存所有的子类。因此,我可以配置我的约束以及它们在访问者中的保存方式。
我在网上找到了一篇关于这个图案的帖子