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