Entity Framework 表示任意数据的最佳方式

Entity Framework Best Way To Represent Arbitrary Data

我正在寻找一种数据库解决方案,其中我的部分数据可能会变得非结构化。

更具体地说,我使用的是 Entity Framework 6,但实际上我认为这更像是一个 SQL 根问题。

假设我有一组通用几何对象 (GeoObj),可以用任意数量的值(int 集合)表示。

这是一个解决方案,但我真的不确定 correctness/efficiency:

GeoObj
{
     public int ID { get; set; }
     public virtual ICollection<GeoValue> Values { get; set; }
}

GeoValue
{
     public int ID { get; set; }
     public int Value { get; set; }
}

现在我看到的问题是,因为我期望有很多 GeoObjs,并且每个 GeoObj 都有大量的 GeoValues,所以 GeoValues Table 变得巨大。

这会显着降低性能吗?

有更好的解决方案吗?

谢谢!

您对潜在性能问题最终根源于您的 SQL 数据库服务器的怀疑是正确的。您使用的是 MS SQL 服务器吗?

在托管数据库的机器的硬件和配置上测试您特定版本的 SQL 服务器 运行 的性能可以找到答案。

据我所知,Entity Framework 没有支持控制 table 分区之类的工具来解决 HUGE table。那是在数据库的范围内。

查看 https://msdn.microsoft.com/en-us/library/ms190787.aspx 了解相关信息。