Winforms 防止获取实体模型中主键的空格

Winforms 防止获取实体模型中主键的空格,winforms,entity-framework,entity-framework-6,Winforms,Entity Framework,Entity Framework 6,我正在使用实体框架制作一个Windows应用程序。我有一个表名“DichVu” 这是我的talbe:“DichVu”: 我这里的问题是,当我将新记录插入表“DichVu”时,主键只有5个字符,我成功地得到了它。但在此之后,我编写了一个方法来获取表“DichVu”中的所有记录,并将它们显示在GridControl上。我的ID字段(这里是MaDV)有10个字符(其中5个为空) 我尝试在SQL Server中使用查询并计算“MaDV”长度,但它显示每条记录正好有5个字符 以下是使用查询的结果: 这是我

我正在使用实体框架制作一个Windows应用程序。我有一个表名“DichVu”

这是我的talbe:“DichVu”:

我这里的问题是,当我将新记录插入表“DichVu”时,主键只有5个字符,我成功地得到了它。但在此之后,我编写了一个方法来获取表“DichVu”中的所有记录,并将它们显示在GridControl上。我的ID字段(这里是MaDV)有10个字符(其中5个为空)

我尝试在SQL Server中使用查询并计算“MaDV”长度,但它显示每条记录正好有5个字符

以下是使用查询的结果:

这是我使用该方法获取这些记录的结果:

如上图所示。我在“MaDV”场上得到了这个问题

希望大家能帮助我。我将感谢所有帮助我的人。

使用
VarChar(10)


Char(10)
在存储器中的长度始终为10个字符,
varchar
(可变长度字符)支持允许不同的长度。

非常感谢。我做到了。我以前使用过LINQ,但我不知道“char”数据类型的问题。我看到了我以前创建的旧数据库,它使用了“varchar”数据类型而不是“char”。接下来,考虑到您问题屏幕截图中的非ascii文本,我建议使用
NVARCHAR
而不是
varchar
。谢谢Jake,我只是使用NVARCHAR用越南语键入Unicode。我总是使用varchar或char作为主键,比如ID等。