【发布时间】:2021-06-27 10:07:45
【问题描述】:
我正在尝试使用代码优先方法(星型模式)构建数据仓库 (DWH):
事实/维度类:
[Table("FactBase")]
public class FactBase
{
[Key]
public Guid Id { get; set; }
[ForeignKey("DimTest1")]
public string DimDigitalesBuchISBN { get; set; }
public virtual DimTest1 DimTest1 { get; set; }
}
[Table("DimTest1")]
public class DimTest1
{
[Key]
public string ISBN { get; set; }
public string Bla { get; set; }
}
上下文:
public class XDBContextDWH : DbContext
{
public DbSet<FactBase> FactBase { get; set; }
public DbSet<DimTest1> DimTest1 { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(new string("connection string"));
}
}
使用迁移后,架构如下所示:
基于那个star schema,不应该是这样的关系(这里:SQL)吗?
【问题讨论】:
-
更新了我的帖子,感谢@Ortiga
-
为什么要在 EF 中构建 OLAP 架构?星型模式不适用于 OLTP 源。相反,您应该将 3NF(+) 用于应用程序数据存储。
标签: c# entity-framework-core entity-relationship data-warehouse star-schema