У меня есть следующие два класса как часть более крупного проекта 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записи и возвращается как ноль), я создаю две новые записи DocumentControl и добавляю к объекту.Затем я передаю объект обратно, чтобы обновить записи в БД.Тем не менее, изменения, внесенные в модель проекта, хороши и сохраняются обратно в БД;но список не содержит мои новые записи в базе данных;в POCO он больше не равен нулю при отладке, но имеет счетчик 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?Я бился головой об стол на этом.Я уверен, что мне не хватает чего-то простого!