Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 值为'时违反主键;不一样_C#_Sql Server_Entity Framework_Tsql - Fatal编程技术网

C# 值为'时违反主键;不一样

C# 值为'时违反主键;不一样,c#,sql-server,entity-framework,tsql,C#,Sql Server,Entity Framework,Tsql,我的数据库中有以下数据: 注意光标的位置,因此字段在单词后面有一些空格。然后我调用以下代码来插入一个新值: var tagList = new List<ProductTag> { new ProductTag { Name = "diepvries" } }; var sbCopy = new SqlBulkCopy(_dataContext.Database.Connection.ConnectionString) { BulkCopyTimeout = 60 * 10 }

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

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

 var tagList = new List<ProductTag> { new ProductTag { Name = "diepvries" } };
 var sbCopy = new SqlBulkCopy(_dataContext.Database.Connection.ConnectionString) { BulkCopyTimeout = 60 * 10 };
 sbCopy.WriteToServer(tagList.AsDataReader());
var tagList=newlist{new ProductTag{Name=“diepvries”};
var sbCopy=newsqlbulkcopy(_dataContext.Database.Connection.ConnectionString){BulkCopyTimeout=60*10};
sbCopy.WriteToServer(tagList.AsDataReader());
但是,会引发以下异常

违反主键约束“PK_dbo.ProductTags”。不能 在对象“dbo.ProductTags”中插入重复键。复制钥匙 值为(diepvries)

我还用文本“diepvries2”进行了测试,结果很有效。我做错了什么?

根据

“SQL Server遵循ANSI/ISO SQL-92规范(第8.2节, ,关于如何比较字符串的一般规则#3) 带空格。ANSI标准要求字符填充 用于比较的字符串,以便它们的长度在比较之前匹配 比较它们。

什么样的数据库? 我知道在SQL server中,字符串在比较之前用空格“填充”到相同的长度。因此,就SQL数据库而言,您的两个字符串是相同的。
详细信息是。

为您当前的情况添加一点背景信息。“Diepvries”等于“Diepvries”