创建视图,选择列作为主键

时间:2015-06-05 09:10:29

标签: sql entity primary-key sql-view

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

如何选择列作为主键?

我试过这个;

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

uniqueid as PRIMARY KEY。

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

1 个答案:

答案 0 :(得分:2)

您无法在视图本身上创建主键。

要解决无主键问题,您可以创建实体框架将选取并使用的唯一列。

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 ....