2014-08-28 42 views
1

我們正在使用EF6.1.1 我有一個數據庫視圖。該視圖具有「ID」列並且不可爲空。我在edmx designer上添加了這個視圖。我注意到設計師中「ID」列的關鍵圖標。當我右鍵點擊設計師的「ID」列時,我還注意到「實體鍵」選項被選中 但是當T4重新生成實體時,我沒有看到相應的實體在ID列上具有「鍵」屬性。 所以我得到編譯時間警告當密鑰存在於數據庫視圖和EDMX中時,T4不會生成KEY

警告4錯誤6002:表/視圖'XXXXXX'沒有定義主鍵。關鍵是推斷出來的,定義是作爲只讀表/視圖創建的。

回答

0

在你的SqlServer:

CREATE FUNCTION FunctionName() RETURNS TABLE AS RETURN (SELECT * FROM [dbo].[Viewname]) 

在你的應用程序,升級從數據庫和導入功能FunctionName模型。

在你的控制器:

var some = db.**FunctionName()**.SingleOrDefault(c => c.field == someparam); 
相關問題