Añadir Vista a Entity Framework sin Primary Key

En ocasiones no podemos añadir una Vista de SQL Server a nuestro modelo de Entity Framework y nos dice que es porque la vista no contiene ninguna “Key”.
Para resolver este problema debemos tener en cuenta que No se pueden crear Primary Keys en Vistas. La solución para por crear una columna nueva autonumérica. Seguiremos sin tener una Primary Key, pero cuando Entity Framework busque una, aunque no la encuentre, usará esta columna.
Simplemente en nuestra consulta del tipo:

SELECT a,b,c,d
FROM table

Añadiremos el siguiente comando en la SELECT:

ISNULL(ROW_NUMBER() OVER(ORDER BY UNO_DE_NUESTROS_CAMPOS DESC), -1) AS RowID

Quedando la consulta de este modo:

SELECT a,b,c,d, ISNULL(ROW_NUMBER() OVER(ORDER BY b DESC), -1) AS RowID
FROM table

Dentro del “Order By” escribiremos alguno de los campos de la consulta en lugar de {UNO_DE_NUESTROS_CAMPOS}.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.