Benutzer mit den meisten Antworten
Master-Detail-DatagridView über LinQ

Frage
-
Hallo,
das steht in keinem Buch.
Das habe ich gefunden. Der Tipp stammt noch von Frank.
Viel steht nicht geschrieben. Ich finde man braucht das.http://www.c-sharpcorner.com/uploadfile/scottlysle/easy-linq-to-sql-based-master-detail-editor-C-Sharp/
http://meinews.niuz.biz/linq-t362338.html?s=4d1fe40a990d97090f23ca330682b603&
http://dzaebel.net/MasterDetail.htmContextMyDatabaseMaster = new TestDBDataContext(); Table<Customers> customerTable = ContextMyDatabaseMaster.GetTable<Customers>(); var queryMaster = (from p in ContextMyDatabaseMaster.Customers where p.CompanyName.StartsWith("A") select new { p.CustomerID, p.CompanyName, p.ContactName }).ToList(); customersBindingSource.DataSource = customerTable; // queryMaster;
Was nicht geht, wenn ich eine Query als Master nehme, wird die Detail nicht aktualisiert.
Kann jemand hierzu Gründe nennen?Vielleicht hilft es auch andere.
Grüße Oliver
Antworten
-
Hallo Oliver,
zu a)
Julia Lermans Programming Entity Framework (2. Ausgabe / EF 4.0)
sollte besser vor dem DbContext/Code First Büchern gelesen werden;
da dort auf Grundlagen - die Dir anscheinend fehlen - tiefer eingegangen werden dürfte.zu b)
Beim Entity Framework hast Du mittlerweile die Qual der Wahl.
Model-/ Database-First
Der "Designer Freak" erzeugt seine Datenbank-Struktur über das SQL Server Management Studio
(oder ein anderes Verwaltungstool seiner Wahl). Und lässt sich über Visual Studio ein Mapping erzeugen,
wobei das EF auch Primär- und Fremdschlüssel berücksichtigt.Siehe dazu EF 4.1 Model & Database First Walkthrough
Grundlagen zum Datenbank-Design- d. h. "wie erstelle ich einen Fremdschlüssel" sollte man allerdings schon mitbringen.
Code-First:
Der "Tastatur-Freak" erstellt seine .NET (C#) Klassen und lässt sich die Datenbank vom EF erzeugen.
Dabei kennt folgt das API Konventionen, die den Tippaufwand in Grenzen halten,
siehe Code First DevelopmentDas DbContext API stellt wiederum eine Überarbeitung des ursprünglichen Models dar, die leichter handhabbar ist.
Dort gibt es jedoch keine Unterstützung für gespeicherte Prozeduren.
Die haben aber in Verbindung mit einem ORM eh weniger Nutzen.siehe dazu auch Julia Lerman: Demystifying Entity Framework Strategies: Model Creation Workflow
Zu C):
Wenn Du eine SQL Server Datenbank (MDF) nutzen willst, so musst Du einen SQL Server (mind. Express) installiert haben.Gruß Elmar
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 12. April 2012 13:47
- Als Antwort markiert O. Stippe Freitag, 13. April 2012 08:46
Alle Antworten
-
Hallo O.Stippe,
Was steht in keinem Buch? Was hast Du gefunden? Welcher Tipp stammt noch von Frank?
Einige wichtige Sachen sind hier im Forum zu beachten:
- Es ist immer gut wenn Du Dein Problem deutlich und völlig beschreiben kannst.
Umfasse mindestens die folgenden Schritte in der Beschreibung Deines Problems:
1) Eine Übersicht der Funktionsweise von dem Programm
2) Das Ergebnis des aktuellen Codes
3) Was erwartest Du dass Dein Code machen soll
4) Den Inhalt der Eingabedateien (falls zutreffend)
Schließlich, sagt uns diese Datensammlung, was Du von deinem Code erwartest, so dass wir vergleichen können, was es tut, mit dem was Du möchtest.
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo O.Stippe,
Was steht in keinem Buch? Was hast Du gefunden? Welcher Tipp stammt noch von Frank?
Hallo Robert,
jaja. OKOK.
Wie erstelle ich eine Master Detail über ein DataGridView und LinQ.
Gefunden habe ich jetzt das Buch. BUCH - LinQ
Was auffällt, hier wird alles ohne BindingsSource erstellt. Was ist der richtige Weg? Man will es ja gleich richtig machen. Im Buch wird z.B. um die Detail Tabelle zu befüllen, auf den Primärschlüssel der Master zugegriffen.
Nur diese Spalte will ich ja für den Bediener nicht anzeigen lassen. Und nun? Klar für's Beispiel IO, aber halt nicht praxistauglich. Wie macht man es dann?
Gibt es evtl. eine Übersicht, wie alles zusammenspielt? BindingsSource -DataSet - DBML etc.?
Frank hat das ja noch ohne LinQ erstellt. Franks Tipp
Grüße Oliver
-
Hallo Oliver,
wenn Du mit einem ORM arbeiten willst - der auch LINQ unterstützt -,
so solltest Du heute zum Entity Framework 4 greifen - LINQ To SQL ist mittlerweile ein Nischenprodukt.Gute (engl.) Lektüre sind die Titel von Julia Lerman -
gerade frisch erschienen (selbst nicht gelesen) ist das Buch zum DbContext API - das wohl derzeit das zukunftssichere ist.Gruß Elmar
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 12. April 2012 13:47
- Nicht als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 13. April 2012 08:49
-
Hallo Elmar,
ok Danke. Du meinst das Buch.
Ist ähnlich (zu dem LinQ Buch aus 2007)aber up to date, sprich wenn man eh neu anfängt, dann so.
http://www.weltbild.de/3/17229921-1/buch/programming-entity-framework-dbcontext.html
Sehe ich das richtig?http://msdn.microsoft.com/de-de/library/bb399182.aspx
http://msdn.microsoft.com/en-us/data/cc300162.aspx#entityDas ist gut erklärt.
Hat auch geklappt.3 Fragen dennoch. Hoffe ich darf noch fragen.
A)
Tabellen für ich ja normal über den Wizard hinzu.
Oder wie komme ich in eine Scriptspache, das gibt doch bestimmt niemand von Hand ein.
Wie erstelle ich jetzt eine Beziehung 1:1 ?
BildB)
Funktionen einfügen auch über die SQL - gespeicherte Funktionen oder einfacher?
Bild.C)
Zielrechner, reicht die
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\School.mdf
Datei oder muss ich da die Free Express Version installieren?D.h. kurzum.
a) Datenbankmodell muss klar sein, immer noch relational, einfach ja nein.b) Umwandeln
c) Evtl. Funktionen programmieren etc.
Danke schon im Voraus.
- Bearbeitet O. Stippe Mittwoch, 11. April 2012 19:34 Format
-
Hallo Oliver,
zu a)
Julia Lermans Programming Entity Framework (2. Ausgabe / EF 4.0)
sollte besser vor dem DbContext/Code First Büchern gelesen werden;
da dort auf Grundlagen - die Dir anscheinend fehlen - tiefer eingegangen werden dürfte.zu b)
Beim Entity Framework hast Du mittlerweile die Qual der Wahl.
Model-/ Database-First
Der "Designer Freak" erzeugt seine Datenbank-Struktur über das SQL Server Management Studio
(oder ein anderes Verwaltungstool seiner Wahl). Und lässt sich über Visual Studio ein Mapping erzeugen,
wobei das EF auch Primär- und Fremdschlüssel berücksichtigt.Siehe dazu EF 4.1 Model & Database First Walkthrough
Grundlagen zum Datenbank-Design- d. h. "wie erstelle ich einen Fremdschlüssel" sollte man allerdings schon mitbringen.
Code-First:
Der "Tastatur-Freak" erstellt seine .NET (C#) Klassen und lässt sich die Datenbank vom EF erzeugen.
Dabei kennt folgt das API Konventionen, die den Tippaufwand in Grenzen halten,
siehe Code First DevelopmentDas DbContext API stellt wiederum eine Überarbeitung des ursprünglichen Models dar, die leichter handhabbar ist.
Dort gibt es jedoch keine Unterstützung für gespeicherte Prozeduren.
Die haben aber in Verbindung mit einem ORM eh weniger Nutzen.siehe dazu auch Julia Lerman: Demystifying Entity Framework Strategies: Model Creation Workflow
Zu C):
Wenn Du eine SQL Server Datenbank (MDF) nutzen willst, so musst Du einen SQL Server (mind. Express) installiert haben.Gruß Elmar
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 12. April 2012 13:47
- Als Antwort markiert O. Stippe Freitag, 13. April 2012 08:46