当值不相同时违反主键

iul*_*net 2 c# t-sql sql-server entity-framework

我的数据库中有以下数据:

在此输入图像描述

注意光标所在的位置,因此该字段后面有一些空格.然后我调用以下代码来插入一个新值:

 var tagList = new List<ProductTag> { new ProductTag { Name = "diepvries" } };
 var sbCopy = new SqlBulkCopy(_dataContext.Database.Connection.ConnectionString) { BulkCopyTimeout = 60 * 10 };
 sbCopy.WriteToServer(tagList.AsDataReader());
Run Code Online (Sandbox Code Playgroud)

但是,抛出以下异常

违反PRIMARY KEY约束'PK_dbo.ProductTags'.无法在对象'dbo.ProductTags'中插入重复键.重复的键值是(diepvries).

我还测试了文本"diepvries2"并且它有效.我究竟做错了什么?

Ada*_*m V 6

根据这个页面,

"SQL Server遵循ANSI/ISO SQL-92规范(第8.2节,<比较谓词>,一般规则#3)关于如何将字符串与空格进行比较.ANSI标准要求对比较中使用的字符串进行填充,以便它们的长度在比较它们之前匹配. "