Имах същия проблем и се оказа, че проблемът се дължи на замяна на Equals на картирания клас. Моят метод Equals сравняваше само полето за първичен ключ, което беше поле за идентичност. Разбира се, когато обектите са нови, всички идентичности са 0. Така че, когато беше извикан InsertAllOnSubmit, той смяташе, че всички нови обекти са еднакви и основно игнорира всеки един освен първия.