[Entity Framework] 沒有Key,沒有Entity.

  • 3397
  • 0

[Entity Framework] 沒有Key,沒有Entity.

之前看書、聽課都學到,每個Entity 物件都要有Primary Key.

目前Entity Framework5/6 不能跨DBContext,若專案中需要另一個Database的表格,通常會在這資料庫加上一個View,以方便加入EDM來Join或查詢資料。

(若不這樣做,其實也有許多方法可以達成目的,不過目前暫時先這麼搞....)

 

問題來了:

今天在EDM加入一個View後,沒有出現錯誤,但方案總管、模型瀏覽器卻一直找不到剛剛加入的View...

一開始以為是權限的問題,但設定後還是一樣狀況!

找到後來,才發現VS2012錯誤清單視窗在加入Entity後,有提示該實體找不到Key而被排除的警告。

 

回頭找原始的Table,本來就有建一個Primary Key阿,為什麼會說找不到Key而被排除呢???

 

原來,那個View實際用不到key那個欄位,所以建立時並沒有加入該欄位,所以EDM加入那個View時,就沒辦法判斷key是哪個...

只要在View加入原始Table的Primary Key欄位 (雖然用不到,但為了EF,還是加吧~),這樣就OK了~