Seuls les types primitifs ('tels que Int32, String, et Guid") sont pris en charge dans ce contexte

J'obtiens l'erreur suivante:

Impossible de créer une valeur constante de
type
'Phoenix.L'Intranet.Web.ClientSettings.ComponentRole'.
Seuls les types primitifs ('tels que Int32,
Chaîne et Guid") sont pris en charge dans
ce contexte.

Je comprends pourquoi l'erreur se produit. Ce que je ne comprends pas, c'est pourquoi mon code est la création de l'erreur. Mes comparaisons sont contre les types primitifs. Toutes les comparaisons sont Guid de Guid. L'erreur indique expressément que les Guid sont ok.

L'erreur se produit sur cette ligne (vers le bas):

 var vla =  (from cir in phoenixEntities.ComponentInRoles

Code:

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();
    }
}
Est-il un lien entre la Foels et phoenixEntities?

OriginalL'auteur Chuck Conway | 2011-06-30