2009-09-02 2 views
0

У меня проблема с добавлением объектов в коллекцию.Добавление элементов в коллекцию

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(); 

    } 

Я получаю сообщение об ошибке на:

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

, который:

не может конвертировать из 'BookingSystem.Data.Models.Usergroup' к «BookingSystem.Data. Models.UsergroupsBookingNotifications '

В базе данных Группы пользователейНастройки «int BookingObjectID» и «int UsergroupID»

Что нужно делать?

/M

EDIT:

Таблицы:

< Группы ---> UsergroupsBookingNotifications < -> Заказы

+0

Паранетемы на этой линии не совпадают, так что это не тот код, который вы используете. Как выглядит код? – Guffa

ответ

2

Причина, по которой вы получаете эту ошибку, состоит в том, что bo.UsergroupsBookNotifications - это сборник UsergroupsBookNotifications, и вы пытаетесь добавить к ней объект группы пользователей.

Это:

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

возвращает объект UserGroup.

с вне видящего остальное вас объектная модель, это немного трудно, чтобы помочь, но это может быть то, что вы ищете:

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); 
} 

Как я уже сказал, что это немного трудно, чтобы помочь без дополнительной некоторой информации, но это может заставить вас начать.

0

мне кажется, что вы не можете добавить UserGroup в пользовательскую группу. Я не знаю точно, потому что я не знаю, каковы ваши отношения.

Смежные вопросы