繁体   English   中英

实体框架Fluent API将DbSet <>值映射到表中的自定义对象

[英]Entity Framework Fluent API map DbSet<> value to custom object in table

标题可能有点混乱。 但是问题是:

由于数据库的优化,我们选择为数据库设计ERD,这在某些方面与类图有所不同。

数据库erd: 这是ERD

类图: 在此处输入图片说明

好的,问题是; 如何将DailyLog数据库实体映射到DailyLog C#域类。 由于性能的优化,我们选择将HeartRate作为CLOB存储在数据库中。 在域类中,将对象包含在特定类类型的列表中会更容易。

如何以一种干净利落的方式完成这项工作? 我真的不知道如何将这种数据库实体映射到域类。

计划是这样存储心率的:字符串:“ 07:00:01,50; 07:00:02,52”;

我已经完成了DTO的实验,但是随后我必须在Domain类和Entity Framework之间创建一个全新的DTO层。 而且我认为有一种更清洁的方法可以做到这一点。 但是我不知道如何。

您可以使用EF Fluent API。 检查链接以获取详细信息。 在您的情况下,映射应如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<DailyLog>().Map(m =>
    {
        m.Properties(p => new { p.Id, p.Date});
        m.ToTable("DAILYLOG");
    });

    modelBuilder.Entity<HeartRatePattern>().ToTable("DAILYLOG").Property(x => string.Join(";",x.HeartRate)).HasColumnType("varchar");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM