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}.
No Responses