Zauważyłem dziwne zachowanie w mojej usłudze importowania dzisiaj, gdy próbowałem zaimportować wiele rekordów danych.Funkcja InsertAllOnSubmit wstawia tylko pierwszy rekord danych
Kiedy zrobić to w ten sposób, wszystkie dane rekordy są importowane i wartość auto zwiększana jest prawidłowe (see screenshot):
public void Create(List<Property> properties)
{
foreach (Property prop in properties) {
dbc.Property.InsertOnSubmit(prop);
dbc.SubmitChanges();
}
}
Kiedy próbuję go tak, tylko pierwszy rekord danych get to poprawne automatycznego zwiększana wartość (see screenshot):
foreach (Property prop in properties) {
dbc.Property.InsertOnSubmit(prop);
}
dbc.SubmitChanges();
samo tutaj:
dbc.Property.InsertAllOnSubmit(properties);
dbc.SubmitChanges();
Czy ktoś ma pomysł, dlaczego tak jest? Wszystkie trzy warianty powinny importować wszystkie rekordy danych zgodnie z moim rozumieniem, ale brakujące wartości automatycznie zwiększane wskazują, że nie jest tak.
[EDIT] Dodano dwa zrzuty ekranu.
Tak na marginesie, czy na pewno jest to dbc.Property, a nie dbc.Properties? LINQ do SQL zazwyczaj pluralizuje nazwy kolekcji ... – BFree
Tak, to "Właściwość". Sam nazwałem stoły, nie były generowane automatycznie lub coś w tym stylu. Ponadto, jeśli byłby nazywany "Właściwościami", to pierwszy przykład również nie powinien działać, czy powinien? –
Wygląda na to, że ludzie zgadzają się z tym problemem, ale nikt nie daje +1? Cóż, zacznę. To brzmi jak może to być błąd dla mnie. – MattH