我在向集合中添加实体时遇到问题。
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
编辑:
表:
用户组&lt; ---&gt; UsergroupsBookingNotifications&lt; - &gt;预订
答案 0 :(得分:2)
您收到此错误的原因是因为bo.UsergroupsBookingNotifications是UsergroupsBookingNotifications的集合,并且您正在尝试向其添加Usergroup对象。
此:
_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);
}
就像我说的那样,如果没有更多信息,有点难以帮助,但这可能会让你开始。
答案 1 :(得分:0)
在我看来,您无法将用户组添加到UsergroupsBookingNofication中。我不确定,因为我不知道你的关系是什么。