0
如果objects属性为null或其他特定值,那么在插入记录时,您可以在Fluent NHibernate中指定什么方法来省略列:巧合的是,我想要省略的列是我的映射中的参考。这是我的情景:排除插入列
public class OrderLineMap : ClassMap<OrderLine>
{
public OrderLineMap()
{
Table("ORDER_LINE");
Id(x => x.Id, "ORDER_LINE_ID");
//USER_ID is a GUID. Column default in DB is Guid.Empty
References(x => x.User, "USER_ID").Cascade.SaveUpdate();
}
}
我有了给用户的参考的订单行,但此参考并不一定出现在我们创建订单的时间。它可以在以后的日期和时间更新。由于这里有一个外键关系,所以有一个缺省的GUID.Empty列,它将处理插入而不指定此列。用户表中还有一个“空”用户。
目前我在数据库中找到这个“Empty”用户,并将我的OrderLine对象的用户引用设置为此实例。这种方式对我来说似乎很笨拙,我正在寻找一种更好的方式来做到这一点。我在我的数据库中有这样的几个关系。
有问题的列不允许有空值,但是这个数据库处于设计阶段,所以我可以把这个提交给我们的数据库设计师,让这个列可以为空。我想我没有意识到,如果在该列上存在外键约束,您可以创建一个可以为空的列。谢谢你的帮助。 – 2011-03-31 23:22:35