У меня проблемы с отправкой данных о 3-м навигационном свойстве первого приложения с кодом структуры сущности.
Моя модель выглядит следующим образом: (предположим, есть модель под названием Пользователь и Компания)
public enum UserCompanyRoleType
{
Administrator,
Creator,
Follower
}
/// <summary>
/// User that belongs to a company
/// </summary>
public class UserCompany
{
public int UserCompanyId { get; set; }
public virtual User User { get; set; }
public virtual int UserId { get; set; }
public virtual Company Company { get; set; }
public virtual int CompanyId { get; set; }
public virtual IEnumerable<UserCompanyRole> Roles { get; set; }
}
public class UserCompanyRole
{
public virtual int UserCompanyRoleId { get; set; }
public UserCompanyRoleType RoleType { get; set; }
public virtual UserCompany UserCompany { get; set; }
public virtual int UserCompanyId { get; set; }
}
Вот код услуги:
var creator = new UserCompany { UserId = userId };
//add the user as both creator and admin
creator.Roles = new List<UserCompanyRole> { new UserCompanyRole{RoleType = UserCompanyRoleType.Creator}}; //somehow this does not reach the database
company.Users = new List<UserCompany>();
company.Users.Add(creator);
db.Companies.Add(company);
db.SaveChanges();
Это сохраняет как компанию, так и связанную пользовательскую компанию, но две роли не сохраняются. Как сохранить 2 роли в строке, которую я прокомментировал?