2010-03-10 18 views
2

Dans le projet Silverlight, j'ai cette exception lorsque j'ai essayé d'ajouter un nouvel objet à un DataGrid lorsqu'un bouton est cliqué. Dans la classe DomainService .. Je sais que je dois implémenter l'opération Add pour la nouvelle entité que je mets, mais comment puis-je faire cela? Je veux dire que j'ai fait la classe, la méthode get mais comment faire l'opération d'insertion, je ne peux pas voir ma classe dans this.ObjectContext, donc à qui j'ajouterais ce nouvel objet, j'ai les prochains fragments de code :Silverlight -RIA Services-Cet EntitySet de type <> ne prend pas en charge l'opération 'Add'

public partial class SisPer 
    { 
     [Key] 
     public int Id { get; set; } 
     public string Nombre_Sistema { get; set; } 
     public string Nombre_Perfil { get; set; } 
     public string Nivel { get; set; } 
     public bool Estatus { get; set; } 
    } 

public IQueryable<SisPer> Get_SisPer() 
     { 

      var query = 
        from per in this.ObjectContext.Cat_Perfil 
        join sis in this.ObjectContext.Cat_Sistema 
        on per.Cat_Sistema.Id equals sis.Id 

        select new SisPer() 
        { 
         Id = per.Id, 
         Nombre_Sistema = sis.Nombre, 
         Nombre_Perfil = per.Nombre, 
         Nivel = per.Nivel, 
         Estatus = per.Estatus 
        }; 

     return query; 
    } 
public void InsertSisPer(SisPer sisper) 
     { 
      ?? I can't see this.ObjectContext.AddToSisPer(); 
     } 

Plz Aide !!

Répondre

0

Corriger, vous ne verrez pas this.ObjectContext.AddToSisPer. Mais votre ObjectContext expose EntitySet<SisPer> SisPers. Chaque fois que vous appelez ObjectSet.Sispers.Add(SisPer sisper), votre opération d'insertion sera appelée automatiquement à condition de suivre les conventions décrites dans Domain Services. Par exemple. préfixez votre opération d'insertion avec Insert-, Add- ou Create, décorez-la avec l'attribut [Insert], transmettez une entité SisPer et renvoyez void.