如何将属性映射到实体框架核心中的类实例?

时间:2018-04-11 11:40:59

标签: c# entity-framework-core ef-core-2.0

我有一个班级

public class MyEntity
{
    public IDateTimeProvider DateTimeProvider { get; }

    public MyEntity(IDateTimeProvider dateTimeProvider)
    {
        DateTimeProvider = dateTimeProvider;
    }

    protected MyEntity()
    {
    }
}

当我将其映射到DbContext时,我希望它忽略此列(因为它不是基本类型)。从数据库加载时,我希望它使用DateTimeProvider的实例填充此列。

有谁知道怎么做?

我想说的是:

modelBuilder
    .Entity<MyEntity>()
    .Property(x => DateTimeProvider)
    .Ignore()
    .OnLoadInject(new DateTimeProvider());

1 个答案:

答案 0 :(得分:0)

如果您不想在数据库中创建列,则可以在属性上使用[NotMapped]注释。更多信息:

http://www.entityframeworktutorial.net/code-first/notmapped-dataannotations-attribute-in-code-first.aspx