[英]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.