【发布时间】:2018-01-14 03:57:31
【问题描述】:
所以我试图将一个内部属性映射到我的数据库,根据这个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...
}
【问题讨论】:
-
你添加了 using 指令
using Microsoft.EntityFrameworkCore吗? -
我已经在用了
-
您的代码看起来不错。你能建立并发布一个小的、完整的复制品吗?
-
确保引用
Microsoft.EntityFrameworkCore.Relational程序集。 -
天哪。我也有这个问题,我正在使用 Scaffold-DbContext 并且无法生成有效的上下文模型。 .HasDefaultValueSql()、.HasColumnType()、.HasContstraintName() 存在问题。我已经尝试过 VS2017 和 CLI。正如@IvanStoev 指出的那样,我尝试使用 .Relational ,但没有运气。暂时不需要这样做,现在一整天都在尝试不同的部分。
标签: c# entity-framework ef-code-first entity-framework-core