我首先使用实体框架代码我有两个对象项目和调查问卷。项目对象有一个问卷调查OneToMany关联
这是我的代码:
Projet课程:
public class Projet
{
[Key]
public int codeProjet { get; set; }
[Required(ErrorMessage="Veuillez entrer la designation du projet")]
[MaxLength(250)]
[Display(Name = "Designation")]
public String designation{ get; set; }
[Display(Name="Date début")]
public DateTime dateDebut { get; set; }
[Display(Name="Date fin ")]
public DateTime dateFin { get; set; }
[Column("desciption", TypeName = "ntext")]
[Display(Name="Desciption du projet ")]
public String desciption { get; set; }
[MaxLength(100)]
[Display(Name="Responsable du projet")]
public String responsable { get; set; }
[Display(Name = "Budget du projet")]
public double budget { get; set; }
public virtual ICollection<Questionnaire> questionnaires { get; set; }
}
调查问卷类:
public class Questionnaire
{
[Key]
public int codeQuestionnaire { get; set; }
[MaxLength(250)]
[Display(Name="Desciption du questionnaire")]
public String designation { get; set; }
[Display(Name = "Questionnaire avec GPS ?")]
public bool avecGPS { get; set; }
public bool avecNote { get; set; }
//foreign key Projet entity
//[Required]
public int projetId { get; set; }
[ForeignKey("projetId")]
public virtual Projet projet { get; set; }
}
上下文类:
public class QuestContext :DbContext
{
public QuestContext() : base("name=QuestionnaireDbContext") { }
public DbSet<Projet> projets { get; set; }
public DbSet<Questionnaire> questionnaires { get; set; }
}
在我的DAO图层中,我想添加此方法
public void addQuestionnaireToProjet(int codeProjet, Questionnaire questionnaire) { }
我的问题是如何将问卷调查对象添加到存在的Projet对象中?感谢
答案 0 :(得分:2)
您只需将问卷添加到项目的调查问卷集中即可。如果正确定义了项目和问卷之间的关系,这将自动生成正确的外键。
var existingProject = QuestContext.projets.Find(projetId);
var newQuestionnaire = new Questionnaire();
existingProject.questionnaires.Add(newQuestionnaire);
QuestContext.SaveChanges();