2016-08-18 2 views
0

Entity Frameworkテーブルにバイトのグループを格納する必要があります。Entity Frameworkのバイトグループ

byte[] a = new byte[]{0xFF,0xFF}; 
byte[] b = new byte[]{0x01,0x01}; 
List<byte[]> AB = new List<byte[]>{a,b}; 

をしかし、それはバイトの一覧および多次元/ギザギザのバイト配列のために静かに失敗します。私は、次のようにABようなものを保存する必要があります。私は彼らがサポートされていないと仮定します。

EFデータベースにバイトのグループを格納するにはどのような方法がありますか?

+0

各バイト配列を 'blob'として別の行に格納するとどうなりますか? –

+0

興味深いですが、私はあなたが正確に意味するものを得るとは思わない、あなたは答えを通して私を簡単に見せてくれる?私はどのようにクラスを作りますか? @AdilMammadov – Tyress

+0

実際のファイルにバイトを保存して、DB内の場所を参照するだけです。 –

答えて

1

データベースにバイト配列をblobとして格納することができます。そして、あなたはDataModelテーブルに行として各バイト配列を格納することができ

public class DataModel 
{ 
    public int DataModelID { get; set; } 
    public byte[] Data { get; set; } 
} 

::のようなモデルを作成します

// Initialize data 
List<DataModel> dataModels = new List<DataModel> 
{ 
    new DataModel { Data = new byte[]{0xFF,0xFF} }, 
    new DataModel { Data = new byte[]{0x01,0x01} } 
}; 

// Add it to database 
using(MyContext context = new MyContext()) 
{ 
    context.DataModels.Add(dataModels); 
    context.SaveChanges(); 
} 

は今、あなたは自分のPKでデータベースにあなたのバイト配列を持っていて、それらを関連付けることができますあなたはDataModelIDを使って何をしたいですか?

+0

あなたは今を意味します。私は実際にこれについて考えましたが、それはあまりにも多すぎると思っていましたが、これが最善の方法であれば、私はこれと一緒に行くと思います – Tyress

+1

@Tyress、私はあなたのニーズを知らないので、あなたの状況に応じて、あまりにも多くの謝罪をし、実際にはそれが最善の方法であるかどうかわからないが、それは私が知っている方法である。 –