Collection was modified; enumeration operation may not execute. Exception

this code give me and Exception

Collection was modified; enumeration operation may not execute

i use Entity Framework to work with data

            foreach (OfflineMessage omc in _offMsgs)

                var OimDB = new OimDBEntities();

                if (omc.MsgTo == e.MessageData.ToHeader.Uri)
                    var offlineMessage = new OfflineMessage
                        Delivered = false,
                        MsgContent = omc.MsgContent,
                        MsgFrom = omc.MsgFrom,
                        MsgTime = omc.MsgTime,
                        MsgTo = omc.MsgTo,
                        ID = OimDB.OfflineMessages.NextId(f => f.ID)



                    //InsertData(omc.MsgFrom, omc.MsgTo, omc.MsgContent, omc.MsgTime);
            _toHeader = e.MessageData.ToHeader.Uri;


foreach (OfflineMessage omc in _offMsgs)
                    if (omc.MsgTo == _toHeader)

You are removing elements from the collection while iterating over it. You can't do this. Instead of removing, add them to a temporary list, and after the foreach loop, Remove your items.

Need Your Help

dataCount graph filtered by a dimension


I have a list of participants to various events as the data source

Table locking in ADO.NET

c# locking

is there a simple way to implement table locking in ADO.NET (without beeing dependend on a specific DBMS-feature)? I'm currently using TransactionScopes, but I'm not quite sure, whether they lock the

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.