2017-03-16 20 views
0

我在我的數據庫中看到了一些沒有主鍵的視圖;例如如何在沒有主鍵的情況下將類映射到數據庫中的現有視圖?

dbo.Test { ForeignKeyId, Sum, Date } 

是否有任何方法映射此類與實體框架?

我想什麼(沒有工作):

  1. 創建像一個正常的表型(但它需要升級數據庫)
  2. 忽略我的模型生成器類(但是當我」 m試圖從上下文訪問我在無效操作中得到了實體異常)
+0

實體框架**中的任何實體都必須有一個鍵 - 單個列或多列的元組。如果你能找到一個(或幾個)形成可能是主鍵的列,你需要**定義**這些列作爲代表你的視圖的實體的主鍵 –

+0

但是當我通過另一個列(HasKey(x => new(key,key2 ..)),我得到消息說我需要升級遷移。之後,我需要把我的表放到我不想做的數據庫中, ,解決該問題? – dawcza94

回答

0

我想你可以將視圖映射爲表。例如:

public class EntityTypeForViewMap : EntityTypeConfiguration<EntityTypeForView> 
{ 
    public EntityTypeForViewMap() 
    { 
     this.ToTable("Name_Of_View"); // actual name of the view   
    } 
} 
+1

您還需要爲該實體定義**主鍵** –

相關問題