Miałem ten sam problem i okazało się, że problem był spowodowany nadpisaniem Equals na zmapowanej klasie. Moja metoda Equals polegała tylko na porównaniu pola klucza podstawowego, które było polem tożsamości. Oczywiście, gdy obiekty są nowe, wszystkie tożsamości mają wartość 0. Więc kiedy wywołano InsertAllOnSubmit, pomyślał, że wszystkie nowe obiekty są takie same i zasadniczo zignorowano każdy z wyjątkiem pierwszego.