c# - 如何在 asp.net 核心中使用 Fluent API 在数据库类属性上设置默认“图像”?
问题描述
我正在尝试在我的 DBContext 中的代码优先属性上设置默认的“图像”,并且需要使用依赖注入来添加“IHostingEnvironment”以获得根路径。如何将 'IHostingEnvironment' 添加到我的 'OnModelCreating()' 以访问路径以在目录中查找我的图像并将它们设置为我的数据库类的特定属性的默认值?
我正在使用 Asp.net core 2.2,但找不到我的答案
protected override void OnModelCreating(ModelBuilder builder,IFormFile img)
{
base.OnModelCreating(builder);
builder.Entity<ApplicationUser>(entity =>
{
...
byte[] b = new byte[img.Length];
img.OpenReadStream().Read(b, 0, b.Length);
p.img = b;
entity.Property(b => b.UserImage).HasDefaultValue(b);
...
});
}
我希望每当新用户注册到我的网站时,系统会自动为他设置默认(和随机)图像并将其存储在数据库中,而无需重复在数组中读取和写入图像的代码。类似于我上面写的代码。
解决方案
如果您的目标是为数据库中的某些列定义默认值,则最好的方法将在类构造函数中设置,因此当您的应用程序创建该类的实体时,该实体已经具有默认值。
推荐阅读
- php - 从 Internet 访问 ZeroTier 网络 - 连接被拒绝
- html - 如何在codeigniter中“将来自文本字段的输入存储在PHP变量中”?
- javascript - JavaScript FireBase 显示名称注册
- xcode - Xcode storyboard ViewController 显示不同
- apache-kafka - Kafka中生产者和消费者的混淆
- javascript - Google Drive API 分段上传文件损坏,大小 1kb
- css - Bootstrap 3导航栏重叠
- reactjs - 显示来自 axios 响应拦截器的模式。反应
- c++ - 银行记录我想要求用户输入一个 4 位数的密码,不输入字母
- javascript - Elasticsearch - 模糊搜索不提供建议