2016-08-18 70 views
0

我需要在实体框架表中存储一组字节。我需要像AB存储东西在下面:实体框架中的字节组

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

但它静静地失败的字节列表和多维/参差不齐的字节数组。我假定他们不被支持。

什么是在EF数据库中存储一组字节的最佳方法(并且希望处理成本低廉)?

+0

将每个字节数组作为“blob”存储在不同行中怎么办? –

+0

听起来很有趣,但我不认为我完全明白你的意思,你能通过答案简要地告诉我吗?我将如何为此制作课程? @AdilMammadov – Tyress

+0

你可以将字节存储到一个实际的文件中,只需引用数据库中的位置 –

回答

1

您可以将字节数组作为blob存储在数据库中。创建一个模型,如:

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

然后你就可以将每个字节数组作为行存储在DataModel表:

// 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 s。

+0

哦,我看到了什么你是说现在。我真的想过这个,但我认为这有点太多了...但如果这是最好的方式,我想我会去这 – Tyress

+1

@Tressress,我不知道你的需要,所以我不知道它是否*根据你的情况太多了,实际上我不知道这是否是最好的方式,但是我知道的方式是:) –