这是代码中有问题的一部分:
FehirdeUser User = UserManager.FindByIdAsync(Model.UserId.ToString()).Result;
OnlinePartner NOREXECO = new OnlinePartner();
if ((ModelState.IsValid && Model != null) && (User != null))
{
using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
{
User.IsApproved = Model.IsApproved;
NOREXECO.Id = 1;
NOREXECO.UserId = new Guid(UserManager.FindByName("Frank").Id);
NOREXECO.RoleName = "NOREXECO";
NOREXECO.CorporateModelVersion = 3;
NOREXECO.WelcomeMessageHeaderTop = Model.WelcomeMessageHeader;
try
{
unitOfWork.Commit();
}
catch (Exception e)
{
unitOfWork.Rollback();
ModelState.AddModelError("", e.Message);
Exception InnerException = e.InnerException;
int InnerCount = 0;
while (InnerException != null)
{
ModelState.AddModelError("", "Inner exception " + ++InnerCount + ": " + InnerException.Message);
InnerException = InnerException.InnerException;
}
}
}
}
所以,
User.IsApproved = Model.IsApproved;
行工作得很好,准备将数据存储到提交行的AspNetUsers表。
但是,使用NOREXECO对象的下一行填充了对象,但是在
unitOfWork.Commit();
它没有存储到OnlinePartners表中。
这是OnlinePartner类:
public class OnlinePartner
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
/// <summary>
/// Foreign key from AspNetUsers
/// </summary>
[Required]
public Guid UserId { get; set; }
[Required]
[StringLength(256)]
public string RoleName { get; set; }
public int CorporateModelVersion { get; set; }
[StringLength(256)]
public string WelcomeMessageHeaderTop { get; set; }
public string WelcomeMessageTextTop { get; set; }
#region Other columns - not used right now
[StringLength(128)]
public string Address { get; set; }
[StringLength(32)]
public string PostalCode { get; set; }
[StringLength(256)]
public string City { get; set; }
[StringLength(256)]
public string Country { get; set; }
[StringLength(128)]
public string PhoneNumber { get; set; }
public string ContactPersonName { get; set; }
[StringLength(256)]
public string ContactPersonEmail { get; set; }
[StringLength(128)]
public string ContactPersonPhoneNumber { get; set; }
public string Comment { get; set; }
public string Text3 { get; set; }
public string Text4 { get; set; }
public string Text5 { get; set; }
public string Text6 { get; set; }
public string Text7 { get; set; }
public string Text8 { get; set; }
public string Text9 { get; set; }
public string Text10 { get; set; }
#endregion
}