提问人:Talan 提问时间:11/9/2023 更新时间:11/9/2023 访问量:37
C# MySql Blob 存储问题 [已关闭]
C# MySql Blob Storage Issue [closed]
问:
我有一个我一直在写的 C# 程序。我能够直接连接到MySQL实例,并且可以毫无问题地存储各种数据。我有一个文件作为我尝试上传的模型的一部分,但如果它超过一定大小,它似乎不会存储为任何东西。以下是保存前的类的输出:
这是类中的变量: public byte[] File { get; set; }
这是保存更改后的MySQL Select OCTET_LENGTH(File)的输出。。从中可以看出,我已经能够保存一些东西,但不会保存太大的东西。以下是 MySQL Workbench 的输出,显示该列已定义为“longblob”:
对此的任何帮助都会很棒,因为我对正在发生的事情感到困惑。
我尝试将文件类型更改为 MySqlDbType.Blob,但目前.Blob 没有被重新识别,我目前正在使用 MySql.Data 和 MySql.EntityFrameworkCore nuget 包。
答:
1赞
Talan
11/9/2023
#1
我想通了,最后,我尝试创建一个 OnModelCreateing,如下所示:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<MainTable>()
.Property(b => b.File).HasColumnType("longblob");
}
但是,这并没有解决问题,因为 MySql.EntityFrameworkCore 6.0.12 SDK 未正确实现长和中型 blob。最后,我安装了 Pomelo.EntityFrameworkCore SDK 并将连接对象更改为它,它立即运行。
评论
0赞
Bradley Grainger
11/10/2023
许多其他 SO 用户建议切换到 Pomelo:stackoverflow.com/a/40340623/23633 stackoverflow.com/a/76195488/23633 stackoverflow.com/a/41659935/23633 stackoverflow.com/a/46090571/23633 等。
评论