Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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# LINQ中存在重复的异常,但I';已设置自动增量和自动同步_C#_.net_Linq - Fatal编程技术网

C# LINQ中存在重复的异常,但I';已设置自动增量和自动同步

C# LINQ中存在重复的异常,但I';已设置自动增量和自动同步,c#,.net,linq,C#,.net,Linq,我的C代码中出现DuplicateKeyException错误 我在dbml中设置了Auto-Generated=true,Auto-Sync=OnInsert。我甚至没有在任何手动编写的代码中触及PK字段(如下所示[我的主键字段实际上被称为PK]) 这是设计器中列的代码(列名为PK和FK) [global::System.Data.Linq.Mapping.ColumnAttribute(Storage=“\u PK”,AutoSync=AutoSync.OnInsert,DbType=“In

我的C代码中出现DuplicateKeyException错误

我在dbml中设置了Auto-Generated=true,Auto-Sync=OnInsert。我甚至没有在任何手动编写的代码中触及PK字段(如下所示[我的主键字段实际上被称为PK])

这是设计器中列的代码(列名为PK和FK)

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage=“\u PK”,AutoSync=AutoSync.OnInsert,DbType=“Int NOT NULL”,IsPrimaryKey=true,IsDbGenerated=true)]
公共整数PK
{
得到
{
把这个还给我;
}
设置
{
如果((此._PK!=值))
{
此.OnPKChanging(值);
此参数为.SendPropertyChanging();
这个。_PK=值;
此。SendPropertyChanged(“PK”);
this.OnPKChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage=“\u FK”,DbType=“Int”)]
公共系统.可为空的FK
{
得到
{
把这个还给我;
}
设置
{
如果((此值)
{
此.OnFKChanging(值);
此参数为.SendPropertyChanging();
这是._FK=值;
本文件。SendPropertyChanged(“FK”);
这个.OnFKChanged();
}
}
}

查看自动生成的代码,您可以尝试将设计器中的服务器数据类型更改为Int NOT NULL IDENTITY。我不怀疑这会解决问题,但你永远不会知道。

你的主键是int还是数据库中的标识?你能用SQL Profiler查看PK设置成什么吗?@DaveShaw,我没有访问该工具的权限。。。抱歉。查看自动生成的代码,您可以尝试将设计器中的服务器数据类型更改为Int NOT NULL IDENTITY。我不怀疑这会解决它,但你永远也不知道。@lthibodeaux,天哪,真管用!。把它作为答案贴出来,我会记下来的。再次感谢!
using (DeviceExerciseDataDataContext context = new DeviceExerciseDataDataContext())
                {
 foreach(Data tgudData in data.Data)
                {
                    tgd = new tableData();
                    tgd.FK = key;
                    tgd.Time = tgudData.TimeStamp;
                    tgd.Calories = Convert.ToInt32(tgudData.Calories);
                    tgd.HeartRate = tgudData.AvgHr;
                    tgd.BenchAngle = tgudData.Angle;
                    tgd.WorkoutTarget = 0;
                    tgd.Reps = tgudData.Reps;
                    context.tableDatas.InsertOnSubmit(tgd);
                }
                context.SubmitChanges();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PK", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
        public int PK
        {
            get
            {
                return this._PK;
            }
            set
            {
                if ((this._PK != value))
                {
                    this.OnPKChanging(value);
                    this.SendPropertyChanging();
                    this._PK = value;
                    this.SendPropertyChanged("PK");
                    this.OnPKChanged();
                }
            }
        }

        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FK", DbType="Int")]
        public System.Nullable<int> FK
        {
            get
            {
                return this._FK;
            }
            set
            {
                if ((this._FK != value))
                {
                    this.OnFKChanging(value);
                    this.SendPropertyChanging();
                    this._FK = value;
                    this.SendPropertyChanged("FK");
                    this.OnFKChanged();
                }
            }
        }