Programmgesteuert Sie Zeile Hinzufügen, um Linq-to-SQL-Dataset
Sagen wir, wir erzeugen diese link-to-sql-dataset ein raster:
var query = from c in customers
orderby c.FirstName
select c;
Grid1.DataSet = query;
Grid1.DataBind();
Nach der Generierung dieses Datensatzes, die wir brauchen, um programmgesteuert hinzufügen "Vince Vaughn" zu diesem Datensatz (das Ziel ist, um eine Zeile hinzuzufügen, um diese linq-to-sql-dataset, so dass die erhaltenen Werte aus der Datenbank, und die 1 Zeile wurde programmgesteuert Hinzugefügt, werden alle im raster angezeigt).
Wie erreichen Sie diese Programmierung mit Hilfe von C#? (d.h. programmgesteuert fügen Sie eine Zeile für Vince Vaughn, die dem dataset)
CUSTOMERS TABLE
ID FirstName LastName
1 John Jones
2 Sally Smith
Umgebung: C#.NET 4.0
Vielen Dank im Voraus.
- Verwenden
.ToList()
auf die Abfrage und dannlist.Add(new Customer {...})
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie tatsächlich bedeuten, fügen Sie die Zeile an die back-end-storage und-vorausgesetzt
ID
ist eine identity-Spalte, und dein Modell ist korrekt konfiguriert, die Sie tun können.Wenn Sie nur wollen, Vince zu erscheinen, als ob er in der Liste, die Sie tun konnte,
Möchte hinzufügen, dass Vince auf der Liste, ohne ihn tatsächlich hinzufügen, um den Speicher.
Wenn Sie nur wollen, um "Parodie", ein Ergebnis oder die Ergebnisse in einen Satz aus einer Datenbank könnte man concatentate mit einer Reihe von kompatiblen anonyme Art, so etwas wie dieses ...
Zwei anonyme Typen sind kompatibel, wenn Ihre Mitglieder haben die gleichen Eigenschaftsnamen und-Typen. Wenn das Ergebnis der
query
einige andere nicht-anonyme Typ Sie benötigen, um sicherzustellen, dass die linq-Verarbeitung ist in der Lage, kombinieren Sie diese Ergebnisse mit Ihren anonymen Ergänzungen.wenn
Grid1.DataSet
ist der TypIEnumerable<T>
und nicht von DataSet geben, gibt es nicht viel Optionen wierequery alle Daten erneut aus der Datenbank und re-ordnen Sie einer Kontrolle
cach ersten Abfrage von Daten in
List<T>
, und nach der Abfrage nur "neue" Formular-Daten-Daten-Basis und fügen Sie Sie der gebundenen Liste.Habe ich noch nie selber ausprobiert, aber dies könnte funktionieren. Man könnte ein
DataTable
als repository, fügen Sie die Zeile manuell und diese dann als Datenquelle für denGridView
.Können Sie mit dieser Methode konvertieren Sie die
Linq.DataContext
zu einemDataTable
:http://www.thejackol.com/2009/06/02/get-linq-to-sql-results-into-a-datatable/