Witajcie,
chciałbym prosić Was o pomoc.
Mam przykładowo 2 tabele:
Miejscowość(która zawiera: Id, Nazwa)
Osoba(która zawiera: Id, Nazwisko, Id miejscowości).
Przez LINQ to SQL pobieram dane z bazy, wiąże je poprzez BindingSource z DataGridView. Tabla Osoby wyświetla mi takie coś:
Id | Nazwisko | Id Miejscowości |
---|---|---|
1 | Kowalski | 1 |
itd. |
Chciałbym żeby zamiast Id miejscowości wyświetlała mi się jej nazwa, jednak z możliwością zachowania możliwości edytowania/dodawania/usuwania danych poprzez DataGridView w bazie danych. Z początku zrobiłem tak:
var query = db.Osoby.Select(os => new
{
Id = os.Id,
Nazwisko = os.Nazwisko,
Miejscowosc = db.Miejscowosci.Where(m => m.Id == os.IdMiejscowosci).Select(m => m.Nazwa).Single()
});
I tak przygotowane dane wiązałem z DataGridView. Niestety przez to traciłem możliwość łatwej edycji bezpośrednio właśnie z DataGriedView. Co byście poradzili? Czy istnieje możliwość poprawnej prezentacji danych wraz możliwością zachowania bezpośredniego bindingu baza<->grid?
Oczywiście podane dane są przykładowe, tabele w rzeczywistości są trochę bardziej skomplikowane.
Będę wdzięczny za podpowiedzi.