cześć. na początku to wesołych i takie tam :)
załóżmy, że mam taki fragment:
SqlDataAdapter DataAdapter = new SqlDataAdapter("Select * from persons", Core.ConnectionString);
DataAdapter.TableMappings.Add("Table", "persons");
DataSet ds = new DataSet();
DataAdapter.Fill(ds);
DataTable personsDT = ds.Tables["persons"];
Czy w tym momencie w personsDT są już jakiekolwiek dane, czy jest to dopiero zamapowane/podpięte pod bazę
jeżeli w tym momencie nie ma jeszcze danych w dataTable, to jak zrobić, aby nie pobierął mi całej tabeli z bazy, lecz jedynie interesujace mnie dane, ktore podałbym w wyrażeniu linq np.
var osoba = from x in person
where x.id = 123
select x
szczerdze mowiac czytam o datatable i widze tam jedynie, ze najpierw pobiera się w stylu :
var persons= from p in persons.AsEnumerable()
select new person
{
name = p.field<string>("Name"),
id = p.field<int>("Id")
...
}
.toList();
i dopiero potem konretke zapytanie linq
var osoba = from x in person
where x.id = 123
select x
ale tutaj juz przeciez
}
a przeciez przy ToList juz na pewno dane będą się tam znajdywać.
W dużym skrócie
Jak po tym mapowaniu Datatable pobrać konkrenty wiersz (spełniający jakiś warunek)