C# OneToMany关系在NHibernate和NET Persistence API中不起作用
我使用的是Hibernate和NET持久性API与C#的结合。我在两个实体之间有以下关系:C# OneToMany关系在NHibernate和NET Persistence API中不起作用,c#,nhibernate,c#-4.0,persistence,C#,Nhibernate,C# 4.0,Persistence,我使用的是Hibernate和NET持久性API与C#的结合。我在两个实体之间有以下关系: public class Question { [OneToMany(Cascade = new CascadeType[] { CascadeType.ALL }, Fetch = FetchType.LAZY, MappedBy = "Question")] public virtual List<QueueLog> QueueLogs { get; set; }
public class Question
{
[OneToMany(Cascade = new CascadeType[] { CascadeType.ALL }, Fetch = FetchType.LAZY, MappedBy = "Question")]
public virtual List<QueueLog> QueueLogs { get; set; }
}
此外,我还尝试通过以下方式建立两个实体之间的关系:
public class Question
{
[OneToMany(Cascade = new CascadeType[] { CascadeType.ALL }, Fetch = FetchType.LAZY)]
[JoinColumn(Name = "question_id", ReferencedColumnName = "id")]
public virtual List<QueueLog> QueueLogs { get; set; }
}
公开课问题
{
[OneToMany(Cascade=new CascadeType[]{CascadeType.ALL},Fetch=FetchType.LAZY)]
[JoinColumn(Name=“question\u id”,ReferencedColumnName=“id”)]
公共虚拟列表队列日志{get;set;}
}
及
公共类队列日志
{
[manytone(Fetch=FetchType.EAGER,TargetEntity=typeof(问题))]
[列(Name=“question\u id”,Nullable=false)]
公共虚拟列表问题{get;set;}
}
但我还是犯了同样的错误。有人能为我推荐解决方案吗?我已通过以下更改修复了代码:
public class Question
{
[OneToMany(TargetEntity = typeof(QueueLog), MappedBy = "question", Fetch = FetchType.EAGER, Cascade = new CascadeType[] { CascadeType.ALL })]
public virtual NHibernate.Collection.PersistentBag QueueLogs { get; set; }
}
及
public class Question
{
[OneToMany(Cascade = new CascadeType[] { CascadeType.ALL }, Fetch = FetchType.LAZY)]
[JoinColumn(Name = "question_id", ReferencedColumnName = "id")]
public virtual List<QueueLog> QueueLogs { get; set; }
}
public class QueueLog
{
[ManyToOne (Fetch = FetchType.EAGER, TargetEntity = typeof(Question))]
[Column(Name = "question_id", Nullable = false)]
public virtual List<Question> Question { get; set; }
}
public class Question
{
[OneToMany(TargetEntity = typeof(QueueLog), MappedBy = "question", Fetch = FetchType.EAGER, Cascade = new CascadeType[] { CascadeType.ALL })]
public virtual NHibernate.Collection.PersistentBag QueueLogs { get; set; }
}
public class QueueLog
{
[ManyToOne (Fetch = FetchType.EAGER, TargetEntity = typeof(Question))]
[JoinColumn(Name = "question_id")]
public virtual Question question { get; set; }
}