我有一个“活动”实体,这个实体可以有几个“任务”。流利Nhibernate:一对多的问题
此处可用于实体的代码:
public class Activity : Entity<int>
{
public virtual int Id { get; set; }
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual Iesi.Collections.Generic.ISet<Task> Tasks { get; set; }
public Activity()
{
Tasks = new Iesi.Collections.Generic.HashedSet<Task>();
}
}
public class Task
{
public virtual int Id { get; set; }
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual Activity Activity { get; set; }
}
映射:
public ActivityMap()
{
Id(x => x.Id).GeneratedBy.Native();
Map(x => x.Code);
Map(x => x.Name);
HasMany(x => x.Tasks)
.KeyColumns.Add("Activity")
.AsSet()
.Inverse()
.Cascade.AllDeleteOrphan();
}
public TaskMap()
{
Id(x => x.Id).GeneratedBy.Native();
Map(x => x.Code);
Map(x => x.Name);
}
测试:
activity = new Activity
{
Code = "...",
Name = "..."
};
Task task = new Task
{
Code = "...",
Name ="...",
Activity = activity
};
session.Save(activity);
我看到惠普NHProf 2插入。 提交后,我做了一个实体“Activity”的GetById,但“Tasks”属性是空的。在数据库中,“活动”字段(实体“任务”)为空。
嘿克里斯,问题解决了吗? – gdoron