Entity Framework 中的字节组
Group of bytes in Entity Framework
我需要在 Entity Framework table 中存储一组字节。我需要在下面存储类似 AB
的内容:
byte[] a = new byte[]{0xFF,0xFF};
byte[] b = new byte[]{0x01,0x01};
List<byte[]> AB = new List<byte[]>{a,b};
但是对于字节列表和 multidimensional/jagged 字节数组,它会默默地失败。我假设它们不受支持。
在 EF 数据库中存储一组字节的最佳(并且希望处理成本低)方法是什么?
您可以将字节数组作为 blob
存储在数据库中。创建一个模型,如:
public class DataModel
{
public int DataModelID { get; set; }
public byte[] Data { get; set; }
}
然后您可以将每个字节数组作为一行存储在 DataModel
table:
// 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 将它们与您想要的内容相关联。
我需要在 Entity Framework table 中存储一组字节。我需要在下面存储类似 AB
的内容:
byte[] a = new byte[]{0xFF,0xFF};
byte[] b = new byte[]{0x01,0x01};
List<byte[]> AB = new List<byte[]>{a,b};
但是对于字节列表和 multidimensional/jagged 字节数组,它会默默地失败。我假设它们不受支持。
在 EF 数据库中存储一组字节的最佳(并且希望处理成本低)方法是什么?
您可以将字节数组作为 blob
存储在数据库中。创建一个模型,如:
public class DataModel
{
public int DataModelID { get; set; }
public byte[] Data { get; set; }
}
然后您可以将每个字节数组作为一行存储在 DataModel
table:
// 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 将它们与您想要的内容相关联。