标题可能有点令人困惑。 但问题是:
由于数据库优化,我们选择为数据库设计ERD,这在某些方面与类图不同。
好的,问题是;如何将DailyLog数据库实体映射到DailyLog C#域类。 由于性能优化,我们选择将HeartRate作为CLOB存储在数据库中。在域类中,将对象放在特定类类型的列表中会更容易。
如何以干净整洁的方式完成这项工作? 我真的不知道如何将这种数据库实体映射到域类。
计划是以这种方式存储心灵:字符串:" 07:00:01,50; 07:00:02,52&#34 ;;
我已经尝试过DTO,但后来我必须在Domain类和Entity Framework之间创建一个全新的DTO层。我认为有一个更清洁的方法来做到这一点。但我不知道如何。
答案 0 :(得分:1)
您可以使用EF Fluent API。查看this链接了解详情。在您的情况下,映射应该是这样的:
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");
}