在EF Code First

时间:2015-10-20 10:08:54

标签: .net entity-framework ef-migrations

尝试使用带有字符串但在数据库中的键的模型将表示为byte []。

我有什么方法可以做到吗?

1 个答案:

答案 0 :(得分:3)

没有从字符串到字节数组的直接转换。您必须指定字节数组将代表字符串的编码。

您可以添加一个非映射的包装器属性(下面为TheStringValue),该属性使用特定的编码将字符串映射到字节,反之亦然:

public class MyEntity
{
    public byte[] StringBytes { get; set; }

    [NotMapped]
    public string TheStringValue
    {
        get
        {
            return Encoding.UTF8.GetString(StringBytes);
        }
        set
        {
            StringBytes = Encoding.UTF8.GetBytes(value);
        }       
    }
}