违反主键约束'PK。无法在对象'dbo.Cursuri'中插入重复的密钥。重复的键值为(0)

问题描述 投票:0回答:1

我的任务是首先在Windows Form应用程序上使用数据库进行原始操作。目前,我的保存按钮(Salveaza)无法正常工作(调试时出现上述错误),我也不明白为什么。

namespace Database
    {
        public partial class EntityFrameworkCRUD : Form
        {
            Cursuri modelCursuri = new Cursuri();
            Studenti modelStudenti = new Studenti();

            public EntityFrameworkCRUD()
            {
                InitializeComponent();

            }

            private void btnCurata_Click(object sender, EventArgs e)
            {
                Clear();
            }

            void Clear() 
            {
                tbNumeCurs.Text = tbDescriere.Text = tbNume.Text = "";
                btnSalveaza.Text = "Salveaza.";
                btnSterge.Enabled = false;
                modelCursuri.CursID = 0;
            }

            private void EntityFrameworkCRUD_Load(object sender, EventArgs e)
            {
                Clear();
                this.ActiveControl = tbNumeCurs;

            }

            private void btnSalveaza_Click(object sender, EventArgs e)
            {
                modelCursuri.CursNume = tbNumeCurs.Text.Trim();
                modelCursuri.CursDescriere = tbDescriere.Text.Trim();
                modelStudenti.StudentNume = tbNume.Text.Trim();
                using (AplicariCursuriContext db = new AplicariCursuriContext())
                {
                    var cursnume = Console.ReadLine();
                    var cursdescriere = Console.ReadLine();
                    var studentNume = Console.ReadLine();
                    var cursurile = new Cursuri { CursNume = cursnume, CursDescriere = cursdescriere };
                    // var cursurile2 = new Cursuri { CursDescriere = cursdescriere };
                    var studentii1 = new Studenti { StudentNume = cursdescriere };

                    db.Cursuris.Add(modelCursuri);
                   // db.Studentis.Add(modelStudenti);
                    db.SaveChanges();

                }
                Clear();
                MessageBox.Show("Submited Successfully.");
     }
        }
    }

还有我正在Sql Server中使用的表Cursuri的表设计:

CREATE TABLE Cursuri(
    [CursID] INT NOT NULL IDENTITY,
    [CursNume] VARCHAR(50) NULL,
    [CursDescriere] VARCHAR(50) NULL,
    CONSTRAINT [PK_CursID] PRIMARY KEY ([CursID])
) 

和Studenti:

CREATE TABLE Studenti(
    [StudentID] INT NOT NULL IDENTITY,
    [StudentNume] VARCHAR(50) NULL,
    CONSTRAINT [PK_StudentID] PRIMARY KEY ([StudentID]),
    CONSTRAINT [FK_Studenti_Cursuri] FOREIGN KEY ([CursID]) REFERENCES Cursuri(CursID)
) 
c# sql-server winforms crud database-first
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.