T-SQL View im Entity Framework verwenden

Oftmals ist es sinnvoll eine Datenbankabfrage in SQL zu schreiben und das Ergebnis im Entity Framework als Entität zu verwenden.

Allerdings gibt es meist bei aggregierten Views Probleme, da für das EF kein Primary Key vorhanden ist. Das EF erstellt automatisch einen zusammengesetzten Key für alle Spalten in der Tabelle, die nicht null sein können. Daher reicht es, wenn man im View sicherstellt, dass die Spalten “not nullable” sind.

Folgendes SQL Statement kann in EF nicht verwendet werden:

SELECT 
Quartal,KPIFK, Sum(Zahl) as Zahl FROM Planwert
group by Quartal, KPIFK

Wenn allerdings rund um die Spalten Quartal und KPIFK jeweils eine isnull-Funktion gesetzt wird, kann das EF einen Primary-Key bilden und der View kann in EF eingebunden werden. Der View ist wie folgt zu schreiben:

SELECT 
isnull
(Quartal,'Q') as quartal,
isnull(
 KPIFK,-1) as KPIFK, Sum(Zahl) as Zahl FROM Planwert
group by Quartal, KPIFK
Kommentare sind geschlossen