作为大型WinForms项目的一部分,我有以下两个类。
[Table("Project")]
public class Project
{
[PrimaryKey]
public int? Id { get; set; }
public string Name { get; set; }
public int CustomerId { get; set; }
public string Description { get; set; }
public string Reference { get; set; }
[OneToMany]
[Column("Id")]
public List<DocumentControl> DocumentControl { get; set; }
}
和
[Table("DocumentControl")]
public class DocumentControl
{
[PrimaryKey]
public int? Id { get; set; }
public string Editor { get; set; }
public string Comment { get; set; }
public DateTime Date { get; set; }
public string Version { get; set; }
}
从我的Project数据库中检索一个实例(该实例没有DocumentControl条目,并返回null)后,我将创建两个新的DocumentControl条目并将其添加到对象中。然后,我将对象传递回以更新DB条目。但是,对Project模型所做的更改很好,并且可以保存回数据库。但该列表未在数据库中包含我的新条目;在POCO中,调试时不再为null,而是计数为0。
我使用以下方法更新数据库
public bool UpdateProject(Project project)
{
using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["Adagnitio"].ConnectionString))
{
db.Open();
var originalProject = db.AutoQuery<Project>(new { Id = project.Id }).FirstOrDefault();
db.Update<Project>(originalProject, project);
db.Close();
return true;
}
}
为什么我的更新的Customer对象缺少DocumentControl对象条目?一直把我的头撞在桌子上。我确定我一定会错过一些简单的东西!