【问题标题】:EF Code-First Migration - Ignore PropertyEF 代码优先迁移 - 忽略属性
【发布时间】:2012-04-30 19:42:53
【问题描述】:

我有一个简单的 poco 类,它有一个枚举属性(需要这样我仍然可以让代码首先创建枚举查找表)。我不希望迁移生成器将此列添加到数据库中。是否有属性或其他方式让迁移代码知道忽略该属性?

例子:

public class MyPoco
{
    public int MyPocoId { get; set; }
    public int MyPocoTypeId { get; set; }

    public MyPocoTypeEnum MyPocoTypeEnum
    {
        get { return (MyPocoTypeEnum)MyPocoTypeId; }
        set { MyPocoTypeId = (int)value; }
    }
}

【问题讨论】:

    标签: entity-framework entity-framework-migrations


    【解决方案1】:

    你可以使用 NotMappedAttribute

    http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.notmappedattribute(v=vs.103).aspx

    或者我更喜欢使用流畅的映射,因为它不会因为数据访问问题而使我的域模型混乱。

    modelBuilder.Entity<MyPoco>().Ignore(p => p.MyPocoTypeEnum); 
    

    【讨论】:

    • 好极了,我会试一试的。我可以修改 Mapping.tt 文件以将它们添加到地图并保持 POCO 清洁。
    • 当我使用 FluentMApping 时,该字段仍会在结果集中返回,尽管知道它为 NULL。我怎样才能让它甚至不被退回?
    猜你喜欢
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    相关资源
    最近更新 更多