创建一个视图,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 ....
我有很长的代码行来创建视图。为了 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 ....