我在使用 Fluent NHibernate 时遇到了一对多关系的问题。我已经阅读了以下问题,但我认为我的情况比这更简单,所以也许我可以避免实现 IUserCollectionType。
我有一个项目,一个项目有 ProductBacklog。ProductBacklog 是 UserStory 的列表。
public class Project
{
public virtual int Id { get; set; }
public virtual ProductBacklog Backlog { get; protected set; }
}
public class ProductBacklog : List<UserStory>
{
}
当我尝试映射时:
public class ProjectMapping : ClassMap<Project>
{
public ProjectMapping()
{
Id(x => x.Id).GeneratedBy.Identity();
HasMany(x => x.Backlog).KeyColumn("ProjectId");
}
}
我收到以下错误:
NHibernate.MappingException:自定义类型未实现 UserCollectionType:ScrumBoard.Domain.ProductBacklog
如果 Project.Backlog 是 List 而不是 ProductBacklog 类型,它将起作用:
public class Project
{
public virtual int Id { get; set; }
public virtual List<UserStory> Backlog { get; protected set; }
}
有什么方法可以告诉 Fluent NHibernate 如何在不实现 IUserCollectionType 的情况下进行映射?
提前致谢!