首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架未存储字节数组

实体框架未存储字节数组
EN

Stack Overflow用户
提问于 2020-10-03 21:42:06
回答 2查看 984关注 0票数 0

我使用的是带有实体框架的ASP.NET核心3.1。我正在尝试将字节数组存储到数据库中。当然,我的MySQL数据库应该支持这一点,但是实体框架似乎不起作用。

考虑以下模型:

代码语言:javascript
复制
public class User 
{
    [Key]
    public int Id { get; set; }
    public string Username { get; set; }
    public string Email { get; set; }
    public byte[] Salt { get; set; }
    public byte[] Password { get; set; }

    [NotMapped]
    public string PlainPassword { get; set; }
}

现在,每当我使用包管理器控制台执行Add-Migration InitialCreate时,我都会得到以下输出:

代码语言:javascript
复制
PM> Add-Migration InitialCreate
Build started...
Build failed.

每当我将byte[]更改为string时,它都可以工作,但密码不是字符串。我该怎么办?将它们转换为字符串,或者是否有其他解决方法?如果我应该将它们转换为字符串,那么转换它们的最好方法是什么?

EN

Stack Overflow用户

发布于 2021-07-15 18:19:54

使用实体框架核心6.0预览版6,您可以进行预先约定的模型配置。也就是说,您可以配置,例如,将所有字符串存储为字节数组:

代码语言:javascript
复制
protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
  {
      configurationBuilder.Properties<string>()
          .HaveConversion<byte[]>()
          .HaveMaxLength(255);

      configurationBuilder.IgnoreAny<INonPersisted>();
  }
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64184913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档