Я ссылался на модель ASP.NET Identity ApplicationUser во всех моих таблицах (LastUpdatedByUser)
Когда я пытаюсь установить его как текущего пользователя в методе Edit, свойство объекта устанавливается правильно, но сгенерированный SQL не включает LastUpdateByUser_Id в запросе UPDATE.
Свойство модели:
public class ConsignmentStatus
{
//...
[Required]
[Display(Name = "UpdatedBy", ResourceType = typeof(Resources.Resources))]
public ApplicationUser LastUpdatedByUser { get; set; }
}
Редактировать действие на контроллере:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Edit([Bind(Include = "ID,Code,Name,Description,IsTruckInbound,IsRailInbound,IsVesselOutbound,IsCarImport,IsBulkImport,IsTruckOutbound,NameLocal,LastUpdatedByUser")] ConsignmentStatus consignmentStatus)
{
var userManager = new ApplicationUserManager(new UserStore<ApplicationUser>(db));
var _user = (from u in db.Users
where u.UserName == User.Identity.Name
select u).First();
consignmentStatus.LastUpdatedByUser = _user;
ModelState.Clear();
TryValidateModel(consignmentStatus);
if (ModelState.IsValid)
{
db.Entry(consignmentStatus).State = EntityState.Modified;
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(consignmentStatus);
}
Чего мне не хватает? Я перепробовал все!
Вот запрос, который он генерирует. Обратите внимание на отсутствующий LastUpdatedByUser_Id:
UPDATE [dbo].[ConsignmentStatus]
SET [Code] = @0, [Name] = @1, [NameLocal] = @2, [Description] = NULL,
[IsTruckInbound] = @3, [IsRailInbound] = @4, [IsVesselOutbound] = @5,
[IsCarImport] = @6, [IsBulkImport] = @7, [IsTruckOutbound] = @8,
[LastUpdatedDateTime] = @9, [Deleted] = @10
WHERE ([ID] = @11)
-- @0: 'WA' (Type = String, Size = -1)
-- @1: 'Wagons Arrived' (Type = String, Size = -1)
-- @2: '1232412312' (Type = String, Size = -1)
-- @3: 'False' (Type = Boolean)
-- @4: 'True' (Type = Boolean)
-- @5: 'False' (Type = Boolean)
-- @6: 'False' (Type = Boolean)
-- @7: 'False' (Type = Boolean)
-- @8: 'False' (Type = Boolean)
-- @9: '10/01/2019 12:29:32' (Type = DateTime2)
-- @10: 'False' (Type = Boolean)
-- @11: '24' (Type = Int32)