繁体   English   中英

具有稀疏表的实体框架

[英]Entity Framework with sparse tables

我的数据表稀疏,因此数据存储为:

RowId  |  Field  |  Value
  1    ,"Field1",    1.00
  1    ,"Field2",    2.00
  1    ,"Field4",    4.00
  2    ,"Field1",    1.00
  2    ,"Field3",    3.00

数据库中的几行应作为一个对象处理。 例如:

Model obj=new Model(1);//where 1 refers to the RowId
obj.Field1=1;//should update the relevant row
obj.Field2=0;//should delete the relevant row (assuming 0 is the default value)
obj.Field3=3;//should create a new row

如何使用实体框架封装此行为?

您所说明的不是一个稀疏表,而是一个Entity-Attribute-Value(EAV)表。 实体框架不支持EAV建模,它可能会导致主要的性能问题

如果您的属性不是动态的,则可以使用更常规的方式对数据建模并使用“ 稀疏列” ,尽管它们各有利弊

有了Entity Framework的工作方式,除了最琐碎的应用程序之外,您都可以亲吻第三范式再见。

暂无
暂无

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

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