簡體   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