2009-09-02 207 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'

在數據庫UsergroupsBookingNotifications中有「int BookingObjectID」和「int UsergroupID」

需要做什麼?

/M

編輯:

表:

羣組< ---> UsergroupsBookingNotifications < - >預訂

+0

該行上的參數不匹配,因此不能成爲您正在使用的代碼。實際的代碼是什麼樣的? – Guffa 2009-09-02 09:23:31

回答

2

您收到此錯誤的原因是因爲bo.UsergroupsBookingNotifications是UsergroupsBookingNotifications的集合,您正試圖向其中添加一個Usergroup對象。

此:

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

會返回一個用戶組對象。

隨着不再看到你休息對象模型這是一個有點難以幫助,但是這可能是你在找什麼:就像我說這是一個有點難以幫助沒有更多的一些信息

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

在我看來,你不能添加一個用戶組進入UsergroupsBookingNofication。我不知道,因爲我不知道你們的關係是什麼。