3

我首先將EF代碼用作我的項目的ORM技術,其中Domain模型具有如此多的原始數據類型集合。 什麼是用於存儲基本數據類型的集合可能的解決方案,哪一個是最好的解決方案將原始數據類型的集合存儲在實體框架代碼中的最佳方法

的解決方案,我知道如下:

1 **創建一個不同的類將持有的。即原始數據類型,我們想使用的,而不是直接使用基本類型的集合使用新創建的類的集合,這種情況下**更好的解釋是,其收集****的財產

Entity Framework Code First primitive collections

2.在一個coloumn中排列原始dataype的列表,並使用某個分隔符來提取項目,並編寫自己的邏輯以將原始數據類型的列表保存爲單個顏色,並使用邏輯將接收到的數據庫值解析爲回到相應的數據類型集合。

所以,以上兩種已知的解決方案我,但我想知道這是用於存儲基本數據類型的集合的最佳解決方案

+0

你需要對它們進行查詢 - 或者只是加載/保存一次。名單有多大等。這就是你應該看的。這一切都取決於手頭的情況。 – NSGaga

回答

0

第一個解決方案是在數據庫中存儲的集合類型最好的辦法。換句話說,您必須爲您的原始類型定義一個類,然後在兩個類之間建立關係。

1

讀書,並努力出這麼多的選擇後,我發現 的上述策略既增加複雜性,數據檢索和保存。

所以,最好的方法(在我看來)是序列原始數據類型的集合作爲在數據庫中的字節數組和反序列化數據的數據庫:

Class Sample 
{ 
    [NotMapped] 
    Public List<String>Strings { get; set; } 

    Public Byte[] StringBytes 
    { 
     get 
     { 
      var binaryfomrate = new BinaryFormatter(); 

      var memoryStream = new MemoryStream(); 

      binaryFormatter.searilze(ms, this.Strings); 

      return ms.ToArray(); 
     } 
     set 
     { 
      var binaryfomrater = new BinaryFormatter(); 
      this.Strings = binaryFormtter.Deserialize(value) as List<String>(); 
     } 
    } 
} 
相關問題