2013年4月20日

解決MVC Entity錯誤"請定義此 EntityType 的索引鍵"

在開發Entity Framework的程式時,發生以下錯誤:

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'People' 未定義索引鍵。請定義此 EntityType 的索引鍵。

我的環境是

  • Visual studio 2012
  • MVC 4.0
  • Entity Framework
  • SQLSERVER COMPACT 4

於是到model的類別,在id欄位前增加[key]的參數,並
Using  System.ComponentModel.DataAnnotations;
public class People
{
    [Key]
    public int ID{ get; set; }

執行後出現新的錯誤:

由於建立了資料庫,支援 'PeopleContext' 內容的模型已經變更。請考慮使用 Code First 移轉來更新資料庫 (http://go.microsoft.com/fwlink/?LinkId=238269)。


英文:

The model backing the 'BlogContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).”
.

懷疑是Entity Framework meta table錯亂,於是在套件管理主控台輸入以下指令

PM>
Enable-Migrations -EnableAutomaticMigrations –ContextTypeName People.Models.PeopleContext

結果還是一樣,後來檢查一遍原因是

沒有安裝Entityframework.SqlserverCompact

沒有留言:

張貼留言