Takie pytanie. Mam dwie klasy, A i B. Owe klasy są reprezentowane przez tabele w bazie danych. Klasa B posiada w sobie obiekt typu A, więc w bazie powstaje kolumna z kluczem obcym do tabeli A.
No i teraz, przyjmijmy że wykonuję sobie takie dwa zapytania w Linq, w których chcemy pobrać obiekt typu A posiadając jego ID.
a) _context.A.Single(x=> x.Id == ID)
b) _context.B.Single(x=>x.A.Id == ID)
Na pierwszy rzut oka, otrzymane obiekty są identyczne. Jednak istotnie różnią się kiedy chcemy ich dalej używać, przykładowo przypisując je do encji innych tabel. Użycie obiektu z b) powoduje że w tabeli A powstają kolejne duble obiektu A, z wygenerowanym nowym ID.
Byłbym wdzięczny za kilka słów wyjaśnienia. Z góry dziękuje.