这是我的代码
Gallery类
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*/);
}
}
Photo类
public class Photo
{
public Guid Id { get; set; }
public string PhotoPath { get; set; }
}
PhotoGallery课程
public class PhotoGallery
{
public virtual Gallery Gallery { get; set; }
public virtual Photo Photo { get; set; }
public int SortOrder { get; set; }
}
如果我运行Add-Migration命令,它将为Gallery.ActivePhotos生成一个我不想要的关系。我的问题是,EF5的默认行为是什么?在此之前,我记得像这样的GET only属性永远不会被映射。或者我错了吗?
答案 0 :(得分: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并且只读了你问题中没有映射的属性。
希望有所帮助。