我正在使用SQL Server,其中我設計了一個視圖來彙總兩個表的結果,並且我希望輸出成爲包含結果的單個表。我簡單查詢是這樣的:實體框架:查看沒有主鍵的排除
SELECT SUM(col1), col2, col3
FROM Table1
GROUP BY col2, col3
這給了我我想要的數據,但在更新我的EDM視圖時排除,因爲「主鍵無法推斷」。
隨着一點點的研究,我修改查詢,以欺騙的ID列如下:
SELECT ROW_NUMBER() OVER (ORDER BY col2) AS 'ID', SUM(col1), col2, col3
FROM Table1
GROUP BY col2, col3
這種查詢給我IDS的一個很好的提高集。但是,當我嘗試更新我的模型時,它仍排除我的視圖,因爲它無法推斷主鍵。我們如何使用聚合記錄並將它們與Linq-to-Entities連接起來的視圖?
如果您正在更新的表/視圖沒有定義主鍵,則無法使用LINQ執行插入/更新。它需要一種唯一標識行的方法。 –
我知道它需要一種唯一標識行的方法。考慮到在表中彙總數據的任務,我該如何實現? – Shoe
@Jim你有一個源列表上的ID列?如果是這樣,你可以嘗試'MAX(id)作爲ID' – qujck