【发布时间】:2020-08-26 19:08:39
【问题描述】:
我有一个包含 Char(4) 字段的旧 SQL 表。
我需要通过插入新行来测试此表,但该字段应包含文本。 (编辑)这是在 C# Visual Studio Core 中插入存储库。 例如
repo.Insert(new MyTable() { MyChar = Convert.ToChar("Self")});
我得到了错误
System.FormatException: '字符串必须恰好是一个字符长。'
如何在 C# 中将字符串插入到具有 char(4) 字段的 SQL 表中?
【问题讨论】:
-
为什么要转换成字符???数据库不带字符串吗? (只需检查长度并根据需要控制内容可能会填充..)
-
char(4) 表示该列具有 4 个字符的固定长度它仍然是字符串
-
数据库可能会采用字符串,但使用实体框架核心的 c# 不会
-
当你想出答案时,你应该用好的minimal reproducible example 把它变成真正的问题。现在没有任何意义。
-
@DmitryBychenko 我认为您需要
.PadRight在调用.Substring以避免ArgumentOutOfRangeException如果字符串小于4字符。虽然我相信 SQL 将允许更短的字符串并会自动填充结尾。
标签: c# type-conversion