【发布时间】:2014-08-07 20:36:27
【问题描述】:
希望我只是遗漏了一些明显的东西。我有一个类,我想保存一个新实例,定义如下:
<class name="MyClass1" lazy="false" table="table1" dynamic-update="true">
<id name="id" type="guid" generator="assigned" />
<property name="class2_id" />
<many-to-one name="class2" class="MyClass2" not-null="false" lazy="proxy">
<column name="class2_id" not-null="true" length="40" sql-type="varchar" />
</many-to-one>
public class MyClass1
{
virtual public System.Guid id { get; set; }
virtual public System.Guid class2_id { get; set; }
virtual public MyClass2 class2 { get; set; }
}
Class2 是用互惠 Set 定义建立的。
我有 class2 的 id,但并不想为了设置引用而从数据库中提取它。
以下作品:
var class2 = session.Get<MyClass2>(class2_id);
var i = new MyClass1 { class2 = class2 };
session.Save(i);
以下失败,“非空属性引用空值或瞬态值”
var i = new MyClass1 { class2_id = class2_id };
session.Save(i);
有正确的方法吗?
【问题讨论】:
标签: c# nhibernate many-to-one