EF Core的HasColumnName发生了什么变化?

时间:2017-08-06 21:30:23

标签: c# entity-framework ef-code-first entity-framework-core

所以我试图将内部属性映射到我的数据库,根据这个article online,你应该这样做。我发现的其他资源也告诉我做同样的事情。无论出于何种原因,该方法都不存在,我也无法在线查找他们重命名的内容,或者他们是否删除了该方法。

这是我的代码:

public class Criteria : DbEntity
{

    internal string _Condition { get; set; }

    [NotMapped]
    public Condition Condition 
    {
        get
        {
            return string.IsNullOrEmpty(_Condition) ? null : JsonConvert.DeserializeObject<Condition>(_Condition);
        }
        set
        {
            _Condition = JsonConvert.SerializeObject(value);
        }
    }

}

protected override void OnModelCreating(ModelBuilder builder)
{
    builder.Entity<Criteria>().Property(b => b._Condition);//.HasColumnName("Condition"); <-- this doesn't exist...
}

2 个答案:

答案 0 :(得分:27)

必须安装Microsoft.EntityFrameworkCore.Relational才能解决问题。

答案 1 :(得分:0)

如果您使用的是SQL Server和Core 3.1x,还可以通过安装Microsoft.EntityFrameworkCore.SqlServer来解决此问题。