创建一个视图,Select 列作为主键

Create A View, Select a Column As Primary Key

我有很长的代码行来创建视图。为了 Entity framework 使用此视图,我需要一个主键。

如何select将列作为主键?

我试过了;

dstchannel,billsec,disposition,accountcode, uniqueid as PRIMARY KEY,cnam, callRateImport.Description, callRateImport.Code, callRateImport.Day FROM callLogImport
LEFT JOIN callRateImport ON 

uniqueid 作为主键。

我尝试的另一种方法(更改视图和创建主键)有效,但必须在创建视图之前完成..

您不能在视图本身上创建主键。

要解决无主键问题,您可以创建一个唯一列,entity framework 将选取并使用该列。

ISNULL(CAST((row_number() OVER (ORDER BY <columnName>)) AS int), 0) AS ID

所以:

 SELECT  ISNULL(CAST((row_number() OVER (ORDER BY uniqueid)) AS int), 0) AS ID,  dstchannel,billsec,disposition,accountcode, uniqueid,cnam, callRateImport.Description, callRateImport.Code, callRateImport.Day FROM callLogImport
 LEFT JOIN callRateImport ON ....