#asp.net-mvc #relational-database #entity
Вопрос:
Экземпляр класса возвращается из представления. Мне нужно выяснить ссылочные поля класса, которые находятся в базе данных, но не в представлении. Как я могу их получить?
class User {
guid id {get; set;}
public List<LinkUserOrganization> AllowedOrganizations { get; set; }
}
public class LinkUserOrganization
{
public Guid UserId { get; set; }
public User User { get; set; }
public Guid OrganizationId { get; set; }
public Organization Organization { get; set; }
}
[HttpPost]
public ActionResult Edit(User user)
{
foreach (LinkUserOrganization oldlink in user.AllowedOrganizations) // There is nothing here, although there is a database
}
UPD
временно так…
User oldRecord = db.Users.AsNoTracking().Include(u => u.AllowedOrganizations).FirstOrDefault(x => x.Id == user.Id);
foreach (LinkUserOrganization oldlink in oldRecord.AllowedOrganizations)
{
if (AllowedOrganizationIdentifiers.Contains(oldlink.OrganizationId))
{
db.Entry(oldlink).State = EntityState.Unchanged;
AllowedOrganizationIdentifiers.Remove(oldlink.OrganizationId);
}
else
{
db.Entry(oldlink).State = EntityState.Deleted;
}
}