2016-12-13 434 views
-1

我有一個使用分組聲明的視圖。因此,視圖沒有主鍵列。實體框架 - 甲骨文:沒有主鍵的視圖

在EF中,您的表和視圖需要有主鍵或ID列。 正如我搜索To force entity framework to use a column as a primary key, use ISNULL。 這是一個SQL解決方案,但我使用Oracle數據庫。

爲了讓我嘗試在Oracle中使用ISNULL()等價的NVL(),但它沒有解決問題。

edmx文件中的錯誤日誌如下: 表/視圖'TRANSFERS'沒有定義主鍵,並且不能推斷出有效的主鍵。該表/視圖已被排除。要使用的實體,您需要查看您的架構,加上正確的鑰匙,並取消其

感謝

+0

這裏你可以找到的東西[問]以及如何建立一個[MCVE]可以是有用的,澄清你的問題 – Aleksej

回答

0

我不熟悉實體框架,但如果問題是如何添加主鍵在視圖上,可以通過將主鍵創建爲disable來完成。看下面的例子,查看v_test被定義爲一個從基礎表查詢的組。

create table t_test (a number); 
create or replace view v_test 
(col1, col2, constraint pk_test primary key (col1) rely disable novalidate) as 
select a col1, count(1) col2 
from t_test group by a; 
+0

我想你的解決方案,但遺憾的是EF仍然沒有認識到這一點列的PrimaryKey – Barny