实体框架核心覆盖属性问题
我在 EF Core Table-per-hierarchy 中有 2 个类
public class Offering
{
[Required]
[JsonPropertyName("startDate")]
public virtual DateTime StartDate { get; set; }
[Required]
[JsonPropertyName("endDate")]
public virtual DateTime EndDate { get; set; }
}
public class ComponentOffering : Offering
{
[Required]
[JsonPropertyName("startDateTime")]
public override DateTime StartDate { get; set; }
[Required]
[JsonPropertyName("endDateTime")]
public override DateTime EndDate { get; set; }
}
,当我向 ComponentOffering 模型中的属性 StartDate
和 EndDate
添加值并将其保存到数据库时,我会保存默认的 DateTime 值。
有什么想法吗?
笔记 : 映射
modelBuilder.Entity<ComponentOffering>()
.Property(c => c.StartDate)
.HasColumnName("StartDate");
modelBuilder.Entity<ComponentOffering>()
.Property(c => c.EndDate)
.HasColumnName("EndDate");
I have 2 classes
public class Offering
{
[Required]
[JsonPropertyName("startDate")]
public virtual DateTime StartDate { get; set; }
[Required]
[JsonPropertyName("endDate")]
public virtual DateTime EndDate { get; set; }
}
public class ComponentOffering : Offering
{
[Required]
[JsonPropertyName("startDateTime")]
public override DateTime StartDate { get; set; }
[Required]
[JsonPropertyName("endDateTime")]
public override DateTime EndDate { get; set; }
}
In EF Core Table-per-hierarchy when I add values to properties StartDate
and EndDate
in ComponentOffering model and save it to database I get default DateTime values saved.
Any ideas ?
NOTE :
Mappings
modelBuilder.Entity<ComponentOffering>()
.Property(c => c.StartDate)
.HasColumnName("StartDate");
modelBuilder.Entity<ComponentOffering>()
.Property(c => c.EndDate)
.HasColumnName("EndDate");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要忽略抽象类映射。之后,您可以正常映射您的具体类属性。
使用 Fluent API,它看起来像这样:
You need ignore abstract class mapping. After that you can map your concrete class property normally.
Using Fluent API it would look something like this: