2012-10-17 29 views
1

我正在使用EF反向工程師代碼首先爲了獲得我的POCO和映射表。 我得到folowing異常:EntityType'MYPOCO'沒有定義的鍵。定義此EntityType的關鍵字。 我在pk字段添加了[Key]屬性,它工作正常。但是:首先使用EF 5反向工程代碼,爲什麼[Key]加上HasKey()?

爲什麼[關鍵]屬性是否要在POCO PK屬性設置

[Key] // what's the reason for this redundancy with HasKey() in mapping class ? 
public int ID_MYPOCO { get; set; } 

它在映射類媒體鏈接提到...

public class MYPOCOMap : EntityTypeConfiguration<MYPOCO> 
{ 
    public MYPOCOMap() 
    { 
     // Primary Key 
     this.HasKey(t => t.ID_MYPOCO); 
    } 
} 

它正在工作,這是沒有什麼大不了的,但想知道是否有任何理由爲這種冗餘? 任何如何,非常高興與EF反向工程,我最喜歡的方式來映射數據庫的四種方法。

回答

2

區別在於前者爲compile時間,後者爲run time

2

雖然在數據庫生成中使用了[Key]這樣的屬性,但它們也用於驗證等其他內容,因此也需要進行定義。