EF代码首先是NotMapped属性

Luc*_*ike 1 .net c# entity-framework ef-code-first

为什么在以下示例中需要[NotMapped]属性:

public virtual ICollection<Blog> Blogs { get; set; }

[NotMapped]
    public List<Blog> NewBlogs{
        get{
            return Blogs.Where(x=>x.Date > DateTime.Now).ToList();
        }
    }
Run Code Online (Sandbox Code Playgroud)

没有[NotMapped]属性,我得到一个异常:

列名称Blog_ID无效

数据库中的列名是BlogID.

编辑

我希望,没有setter的属性永远不会直接映射到数据库,并且首先会被代码自动忽略.

kir*_*rie 5

使用[NotMapped]属性基本上您将该属性标记为不是实体/属性

所以EF不会尝试从数据库中映射/获取该属性

这个例子实际上说,NewBlogs不是像博客那样的实体.所以停止尝试从数据库中获取NewBlogs