Я получаю следующую ошибку:
Невозможно создать постоянное значение тип 'Phoenix.Intranet.Web.ClientSettings.ComponentRole. Только примитивные типы (такие как Int32, String и Guid ') поддерживаются в этот контекст.
Я понимаю, почему возникает ошибка. Я не понимаю, почему мой код создает ошибку. Мои сравнения против примитивных типов. Все сравнения приведены в Руководстве. В ошибке указано, что гиды в порядке.
Ошибка в этой строке (внизу):
var vla = (from cir in phoenixEntities.ComponentInRoles
Код:
List<ComponentRole> roles;
using (IMSMembershipEntities entities = new IMSMembershipEntities())
{
roles = (from role1 in entities.Roles
select new ComponentRole{Name = role1.RoleName, RoleId = role1.RoleId} ).ToList();
}
List<Components> componentInRoles;
using (PhoenixEntities phoenixEntities = new PhoenixEntities())
{
phoenixEntities.ContextOptions.LazyLoadingEnabled = false;
componentInRoles = (from component in phoenixEntities.Components
select new Components{Name = component.Name,
ComponentId = component.ComponentId,
//InRoles = (from componentInRole in phoenixEntities.ComponentInRoles
// join role in roles on componentInRole.RoleId equals role.RoleId
// where componentInRole.ComponentId == component.ComponentId
// select new ComponentRole{RoleId = role.RoleId, Name = role.Name})
}
).ToList();
foreach (Components cmpent in componentInRoles)
{
Components cmpent1 = cmpent;
//cmpent.InRoles =
var vla = (from cir in phoenixEntities.ComponentInRoles
join role in roles on cir.RoleId equals role.RoleId
where cir.ComponentId == cmpent1.ComponentId
select role).ToList();
}
}