2012-12-13 142 views
1

我首先使用EF代碼創建我的系統。EF代碼優先映射視圖

最近我想用它來映射SQL服務器上的看法,但它有問題

我創建的模型作爲視圖名稱V_InProcessRMForm

這種觀點是從其他部門。我無權改變它,也不需要。我想要的是映射來自該視圖的數據並顯示在網頁上。

public class DmsEntity : DbContext 
{ 
    public DbSet<V_InProcessRMForm> V_InProcessRMForm { get; set; } 
} 

public class V_InProcessRMForm 
{ 
    [Key] 
    public string Docid { get; set; } 

    public string FormNm { get; set; } 
    public string ChangeDocId { get; set; } 
    public string Stats { get; set; } 
    public string CancelReason { get; set; } 
} 

的時候,這裏運行代碼就顯示:你有沒有CREATE TABLE權ONT它。

DmsEntity entity = new DmsEntity(); 
var l = from a in entity.V_InProcessRMForm 

有沒有人可以幫助我?非常感謝 。

+3

錯誤很明顯。連接字符串中標識的用戶無權創建表。 – Leri

+0

hi @PLB是映射視圖需要創建表的權限嗎? – herrowui

+0

很明顯,您正在嘗試從您的代碼優先模型創建數據庫實體,並且EF正試圖從您嘗試映射到的視圖中創建一個表。您不希望它嘗試創建數據庫對象,因爲它已經存在... – Penfold

回答

0

最後我改變了方式,我用正常的EF來解決這個問題。 生成edmx文件,我現在可以使用它訪問視圖數據。

非常感謝。