Za każdym razem, gdy podejmuję próbę TWORZENIA konkretnej jednostki ... chcę tylko wiedzieć, jak powinienem ustalić przyczynę.Jak rozwiązać problem "Aktualizacja wsadowa zwróciła nieoczekiwaną liczbę wierszy z aktualizacji, rzeczywista liczba wierszy: 0, oczekiwano: 1" problem?
Używam automatyzacji Fluent NHibernate, więc być może nie ustawiłem konwencji odpowiednio i/lub muszę przesłonić coś w jednym lub więcej plików mapujących. Przeszedłem przez kilka postów w sieci dotyczących tego problemu i trudno mi było dokładnie określić, dlaczego tak się dzieje w moim przypadku.
Obiekt, który zapisuję, jest bardzo prosty. Jest to obiekt "Person", który odwołuje się do encji "Company" i ma kolekcję encji "Address". AKTUALIZACJE działają poprawnie na istniejących obiektach Person znajdujących się już w bazie danych.
Sugestie?
Thanks -wg
Yup. W moim przypadku używam frameworku SharpArchitecture, który domyślnie niezapisane wartości dla pola "Id" wynosi zero ... zamiast -1, jak byłem przyzwyczajony do używania przez lata. Próbowałem przesłonić to w mojej konfiguracji automatu, a nawet w niestandardowej klasie mapowania ... ale nadal ustawia ją na 0. – wgpubs
Tak wypróbowałeś to: Id (a => a.Id). UnnsavedValue (0); Jeśli nadal masz problemy i chcesz, abym rzucił okiem, dodaj wynikowy kod SQL i swoje mapowanie do swojego pytania. – Iain
Mam ten problem, ponieważ do zbioru dodawano obiekt zerowy, a następnie wykonywany był zapis. – m4tt1mus