2013-01-02 54 views
0

這裏是我的代碼EF 5 Add-Migration是否僅爲GET屬性創建外鍵?

畫廊類

public class Gallery 
{ 
    public Guid Id { get; set; } 
    public virtual ICollection<PhotoGallery> Photos { get; set; } 
    public List<PhotoGallery> ActivePhotos 
    { 
     get { return this.Photos.Where(/*condition*/); 
    } 
} 

的照片類

public class Photo 
{ 
    public Guid Id { get; set; } 
    public string PhotoPath { get; set; } 
} 

的圖片集錦類

public class PhotoGallery 
{ 
    public virtual Gallery Gallery { get; set; } 
    public virtual Photo Photo { get; set; } 
    public int SortOrder { get; set; } 
} 

如果我運行添加遷移命令,它會爲我的Gallery.ActivePhotos生成一個關係想。我的問題是,EF5的默認行爲是什麼?在此之前,我記得像這樣的GET唯一屬性根本不會被映射。或者我錯了嗎?

回答

0

嘗試添加註釋你的財產,像這樣:

public class Gallery 
{ 
    public Guid Id { get; set; } 
    public virtual ICollection<PhotoGallery> Photos { get; set; } 

    [NotMapped] 
    public List<PhotoGallery> ActivePhotos 
    { 
     get { return this.Photos.Where(/*condition*/); 
    } 
} 

我還沒有發現任何東西,說這是新的EF5,但我使用EF 4.3.1,只讀過的屬性,如在你的問題沒有映射。

希望有所幫助。

+0

謝謝@ ben-tidman但這就是我正在做的。只是對這種行爲感到好奇。 – nonintanon