2009-09-02 9 views
0

J'ai un problème lors de l'ajout d'entités à une collection.Ajout d'éléments à une collection

public void SaveNotificationUsergroups(int bookingobjectID, int[] NotificationUsergroups) 
    { 

     BookingObject bo = _entities.BookingObjectSet.Where(b => b.BookingObjectID == bookingobjectID).First(); 

     bo.UsergroupsBookingNotifications.Load(); 

     int _currentUsergroupID; 

     for (int i = 0; i < NotificationUsergroups.Count(); i++) 
     { 
      _currentUsergroupID = NotificationUsergroups[i]; 

      bo.UsergroupsBookingNotifications.Add(_entities.UsergroupSet.Where(ug => ug.UsergroupID == _currentUsergroupID).First(); 
     } 

     _entities.SaveChanges(); 

    } 

je reçois une erreur:

bo.UsergroupsBookingNotifications.Add(_entities.UsergroupSet.Where(ug => ug.UsergroupID == _currentUsergroupID).First(); 

qui est:

ne peut pas convertir 'BookingSystem.Data.Models.Usergroup' à « BookingSystem.Data. Modèles.UsergroupsBookingNotifications '

Dans la base de données UsergroupsBookingNotifications a "int BookingObjectID" et "int UsergroupID"

que faire?

/M

EDIT:

Tables:

Groupes < ---> UsergroupsBookingNotifications < -> Réservations

+0

Les paranethèses sur cette ligne ne correspondent pas, ce qui ne peut pas être le code que vous utilisez. À quoi ressemble le code actuel? – Guffa

Répondre

2

La raison pour laquelle vous obtenez cette erreur est que bo.UsergroupsBookingNotifications est une collection de UsergroupsBookingNotifications et que vous essayez d'y ajouter un objet Usergroup.

Ce:

_entities.UsergroupSet.Where(ug => ug.UsergroupID == _currentUsergroupID).First(); 

retourne un objet UserGroup.

Avec en voyant le reste d'entre vous de modèle d'objet, il est un peu difficile d'aider, mais cela pourrait être ce que vous cherchez:

for (int i = 0; i < NotificationUsergroups.Count(); i++) 
{ 
    _currentUsergroupID = NotificationUsergroups[i]; 

    // Make a new UsergroupsBookingNotifications object 
    UsergroupsBookingNotifications notify = new UsergroupsBookingNotifications(); 

    // Add the bookobject and usergroup 
    notify.BookingObject = bo; 
    notify.Usergroup = _entities.UsergroupSet.Where(ug => ug.UsergroupID == _currentUsergroupID).First(); 

    // Add the collection. 
    bo.UsergroupsBookingNotifications.Add(notify); 
} 

Comme je l'ai dit est un peu difficile d'aider sans un peu plus d'informations, mais cela pourrait vous aider à démarrer.

0

Il me semble que vous ne pouvez pas ajouter un groupe d'utilisateurs dans un UsergroupsBookingNofication. Je ne sais pas avec certitude parce que je ne sais pas quelles sont vos relations.

Questions connexes