C# Orchard NHibernate模型,更新对象

C# Orchard NHibernate模型,更新对象,c#,nhibernate,orchardcms-1.7,C#,Nhibernate,Orchardcms 1.7,希望以前没有人问过这个问题,但这是我的问题。我创建了这样的模型: public class Survey { public virtual int Id { get; set; } [Required(ErrorMessage="Survey Name is required")] [Display(Name="Survey Name")] public virtual string SurveyName { get; set; } public virt

希望以前没有人问过这个问题,但这是我的问题。我创建了这样的模型:

public class Survey
{
    public virtual int Id { get; set; }
    [Required(ErrorMessage="Survey Name is required")]
    [Display(Name="Survey Name")]
    public virtual string SurveyName { get; set; }
    public virtual bool Disabled { get; set; }        
    public virtual IEnumerable<Question> Questions { get; set; }
}

public class Question
{
    public virtual int Id { get; set; }
    public virtual string QuestionText { get; set; }
    public virtual int QuestionOrder { get; set; }
    public virtual Enums.QuestionType QuestionType { get; set; }
    public virtual Survey Survey { get; set; }
    public virtual int Survey_Id { get; set; }

}
我假设Orchard NHibernate的工作方式与EF相同,因为基于命名约定,我的调查和问题地图的调查Id属性位于数据库中的同一字段(我的迁移会让我相信这是正确的)

我的问题是:使用Orchard的IRepository在数据库中创建一个对象会生成如下所示的sql

 INSERT INTO Question (QuestionText, QuestionOrder, QuestionType, Survey_Id, Survey_id) VALUES (?, ?, ?, ?, ?)
哪些错误是因为调查Id存在两次


任何帮助或建议都会很棒。

对于初学者来说,您不是从ContentPart或ContentPartRecord继承的。 尝试此链接:,确实帮助我理解。
以及其他一些教程

嗨,这是因为这些模型是我希望由orchard生成的,但不能作为contentpart使用。谢谢你的意见,我得再看看我的。我认为这是一件很有趣的事情。将“.”列(“测量Id”,DbType.Int32)”更改为“.”列(“测量Id”,DbType.Int32)”。
 INSERT INTO Question (QuestionText, QuestionOrder, QuestionType, Survey_Id, Survey_id) VALUES (?, ?, ?, ?, ?)