我有一个很长的代码行来创建一个视图。要使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。
我尝试的另一种方法(改变视图和创建主键)有效,但必须在创建视图之前完成..
答案 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 ....