I use UnitOfWork Repositories
Models
public class UTaskModel { public int Id { get; set; } public string Name { get; set; } public DateTime DateCrt { get; set; } public DateTime DateFinish { get; set; } public DateTime DateCncl { get; set; } public string UserCncl { get; set; public string UserCtrl { get; set; } public virtual ICollection<UTaskTargetModel> UTaskTargets { get; set; } } public class UTaskTargetModel { public int Id { get; set; } public int UTaskId { get; set; } public string Text { get; set; } public DateTime DateCmpl { get; set; } }
The task is planned UTask
I create a record in the database
public void Create(UTask utask) { db.UTasks.add(utask) }
through the period, tomorrow, the day after tomorrow, goals are added to UTask
I select by ID UTask and add UTaskTargets
add and update
public void UpdateUTask(UTaskDTO data) { var item = Database.UTasks.Find(f => f.Id == data.Id).SingleOrDefault(); if (item != null) { AddTargets(data.UTaskTargets); Database.UTasks.Update(Mapper.Map<UTaskDTO, UTaskModel>(data)); Database.Save(); } else { throw new ValidationException("UTask not exist", ""); } }
UTaskTargets added, after I want to update in UTask DateFinish = DateTime.Now
public void Update(UTaskModel item) { db.Entry(item).State = System.Data.Entity.EntityState.Modified; }
Knocks error
ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠ° "NDashApp.DAL.Entities.Feedback.FeedbackModel", ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΡΡΠ³Π°Ρ ΡΡΡΠ½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. Π’Π°ΠΊΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° "Attach" ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΡΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ "Unchanged" ΠΈΠ»ΠΈ "Modified", Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΡΠ½ΠΎΡΡΠΈ Π² Π³ΡΠ°ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ. Π’Π°ΠΊΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΠΈ ΠΏΠΎΠΊΠ° Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ "Add" ΠΈΠ»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ "Added" Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π³ΡΠ°ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°Π΄Π°ΠΉΡΠ΅ ΡΡΡΠ½ΠΎΡΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ "Unchanged" ΠΈΠ»ΠΈ "Modified".
I tried a lot, I can not update DateFinish.
How to update DateFinish in UTask?