Por varias razones de las que no tengo libertad para hablar, estamos definiendo una vista en nuestra base de datos Sql Server 2005 de la siguiente manera:
CREATE VIEW [dbo].[MeterProvingStatisticsPoint]
AS
SELECT
CAST(0 AS BIGINT) AS 'RowNumber',
CAST(0 AS BIGINT) AS 'ProverTicketId',
CAST(0 AS INT) AS 'ReportNumber',
GETDATE() AS 'CompletedDateTime',
CAST(1.1 AS float) AS 'MeterFactor',
CAST(1.1 AS float) AS 'Density',
CAST(1.1 AS float) AS 'FlowRate',
CAST(1.1 AS float) AS 'Average',
CAST(1.1 AS float) AS 'StandardDeviation',
CAST(1.1 AS float) AS 'MeanPlus2XStandardDeviation',
CAST(1.1 AS float) AS 'MeanMinus2XStandardDeviation'
WHERE 0 = 1
La idea es que Entity Framework creará una entidad basada en esta consulta, lo que hace, pero la genera con un error que establece lo siguiente:
Advertencia 6002: La tabla / vista 'Keystone_Local.dbo.MeterProvingStatisticsPoint' no tiene una clave principal definida. Se ha inferido la clave y la definición se creó como una tabla / vista de solo lectura.
Y decide que el campo CompletedDateTime será la clave principal de esta entidad.
Estamos usando EdmGen para generar el modelo. ¿Hay alguna manera de que el marco de la entidad no incluya ningún campo de esta vista como clave principal?