soderla ... übung macht den ....
mit meinem lehrlingsNivea :-) schaff ichs halt leider doch (noch) nicht:
> alle gefundenen Compile-Querys beziehen sich stets auf ne Datenbank ..
der Aufbau der CQuery:
[highlight=vbnet]
ReadOnly s_compQuery = CompiledQuery.Compile(Of AdventureWorksEntities, MyParams, IQueryable(Of SalesOrderHeader))( _
Function(ctx, mySearchParams) _
From sale In ctx.SalesOrderHeader _
Where sale.ShipDate > mySearchParams.startDate _
And sale.ShipDate < mySearchParams.endDate _
And sale.TotalDue > mySearchParams.totalDue _
Select sale)
Sub CompiledQuery7()
Using AWEntities As New AdventureWorksEntities()
Dim myParams As MyParams = New MyParams()
myParams.startDate = New DateTime(2003, 3, 3)
myParams.endDate = New DateTime(2003, 3, 8)
myParams.totalDue = 700.0
Dim sales = s_compQuery.Invoke(AWEntities, myParams)
For Each sale In sales
Console.WriteLine("ID: {0}", sale.SalesOrderID)
Console.WriteLine("Ship date: {0}", sale.ShipDate)
Console.WriteLine("Total due: {0}", sale.TotalDue)
Next
End Using
End Sub
[/highlight]
ReadOnly s_compQuery = CompiledQuery.Compile(Of AdventureWorksEntities,
wie und was muss ich bei Of AdventureWorksEntities einsetzen ... wenn ich ja nicht auf ne DB sondern auf bestehende
Datentypen/Classen zugreife ...
bzw. WAS muss da in der class definiert sein ... dass ichs eben DORT korrekt reinschreibe *hüster*
Beispielhaft "normale LinQ-Abfrage":
[highlight=vbnet]
' MyDataList = List(OF Customer) z.b. 1000 datensätze ...
Dim myList = From s in MyDataList Where S.ID > 100
'
' eine gespeicherte LingAbfrage könnte/solle dann so aussehen ..
Dim myList2 = s_compQuery.Invoke(MyDataList, 100)
[/highlight]
sollte jemand interesse haben ...
gerade bei WEB anwendungen und Linq können da echt krasse performanceunterschiede erreicht werden
http://msdn.microsoft.com/de-de/magazine/ee336024.aspx
Anregungen, Tips, HILFE und (leichte) Kritik erwünscht :-)
danke ...
mit meinem lehrlingsNivea :-) schaff ichs halt leider doch (noch) nicht:
> alle gefundenen Compile-Querys beziehen sich stets auf ne Datenbank ..
der Aufbau der CQuery:
[highlight=vbnet]
ReadOnly s_compQuery = CompiledQuery.Compile(Of AdventureWorksEntities, MyParams, IQueryable(Of SalesOrderHeader))( _
Function(ctx, mySearchParams) _
From sale In ctx.SalesOrderHeader _
Where sale.ShipDate > mySearchParams.startDate _
And sale.ShipDate < mySearchParams.endDate _
And sale.TotalDue > mySearchParams.totalDue _
Select sale)
Sub CompiledQuery7()
Using AWEntities As New AdventureWorksEntities()
Dim myParams As MyParams = New MyParams()
myParams.startDate = New DateTime(2003, 3, 3)
myParams.endDate = New DateTime(2003, 3, 8)
myParams.totalDue = 700.0
Dim sales = s_compQuery.Invoke(AWEntities, myParams)
For Each sale In sales
Console.WriteLine("ID: {0}", sale.SalesOrderID)
Console.WriteLine("Ship date: {0}", sale.ShipDate)
Console.WriteLine("Total due: {0}", sale.TotalDue)
Next
End Using
End Sub
[/highlight]
ReadOnly s_compQuery = CompiledQuery.Compile(Of AdventureWorksEntities,
wie und was muss ich bei Of AdventureWorksEntities einsetzen ... wenn ich ja nicht auf ne DB sondern auf bestehende
Datentypen/Classen zugreife ...
bzw. WAS muss da in der class definiert sein ... dass ichs eben DORT korrekt reinschreibe *hüster*
Beispielhaft "normale LinQ-Abfrage":
[highlight=vbnet]
' MyDataList = List(OF Customer) z.b. 1000 datensätze ...
Dim myList = From s in MyDataList Where S.ID > 100
'
' eine gespeicherte LingAbfrage könnte/solle dann so aussehen ..
Dim myList2 = s_compQuery.Invoke(MyDataList, 100)
[/highlight]
sollte jemand interesse haben ...
gerade bei WEB anwendungen und Linq können da echt krasse performanceunterschiede erreicht werden
http://msdn.microsoft.com/de-de/magazine/ee336024.aspx
Anregungen, Tips, HILFE und (leichte) Kritik erwünscht :-)
danke ...