Skiller-1988 hat folgendes geschrieben: |
Ist LINQ in Zusammenarbeit mit SQL-Datenbanken immer die bessere Wahl? |
Solange es nicht um Performance sondern Komfort geht: Definitiv. Schon allein deshalb, weil du dich nicht mehr mit SQL herumschlagen musst

.
VS macht das Ganze schon unglaublich einfach. Ich habe bis heute noch nie einen O/RM benutzt, also einfach mal ausprobiert:
- Neue Konsolenanwendung
- "ADO.NET Entity Data Model" hinzufügen, Northwind.Products importieren
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| using (var db = new NorthwindEntities()) { var query = from p in db.Products group p.ProductName by p.ProductName.Substring(0, 1) into g orderby g.Key select g;
foreach (var group in query) { Console.WriteLine(group.Key); foreach (var name in group) Console.WriteLine("- " + name); } } |
(Kann schon sein, dass die Query nicht das Gelbe vom Ei ist
)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| A - Aniseed Syrup - Alice Mutton B - Boston Crab Meat C - Chai - Chang - Chef Anton's Cajun Seasoning - Chef Anton's Gumbo Mix - Carnarvon Tigers - Côte de Blaye - Chartreuse verte - Chocolade - Camembert Pierrot [...] |
Works like a charm, kann man dazu wohl nur sagen.
Noch ein kleiner Überblick über die O/RMs, denn das ist vielleicht das Verwirrendste überhaupt:
- Linq to SQL: .Net3.5, nur MSSQL
- Linq to Entities: .Net3.5 SP1, von der Community ebenso kritisiert
- NHibernate, SubSonic: Die Stars der Community. Linq to NHibernate kommt in der nächsten Version
- Noch ein paar kommerzielle, aber attraktive