Используйте новую таблицу только для связи с вашими представлениями, если у вас более 100 тыс. Строк, EF6 не лучшее решение;)
CREATE TABLE dbo.TablePrimate(Id int CONSTRAINT PK_TablePrimate PRIMARY KEY (Id))
go
set nocount on;
DECLARE @i int;
set @i=1
WHILE @i<10000
BEGIN
INSERT dbo.TablePrimate(Id) values(@i)
SET @i = @i + 1
END
--In fews seconds & 1 MB of storage
GO
Теперь присоединяется к «MyView»
CREATE VIEW dbo.vwTickets
AS
SELECT TP.Id, MyPKView.* FROM (
SELECT ROW_NUMBER() OVER (ORDER BY Ticket) Line, MyView.*
FROM (
select Grupo, App, Ticket, Titulo, FApertura, Estado, Tipo from dbo.vwEvolutivos
union
select Grupo, App, Ticket, Titulo, FApertura, Estado, Tipo from dbo.vwIncidencias
) MyView
) MyPKView
JOIN dbo.TablePrimate TP ON TP.Id = Line