我使用的以下代码。
SQL表名:tbl_Student
列:student_id(身份),名字,姓氏,位置,电子邮件。
当我提交以下代码时。将发生以下错误。我是这个概念的新手。我不知道如何管理标识列。请帮助。
无法执行创建,更新或删除操作 'table(tbl_Student)'因为它在c#
中没有主键
tbl_Student ts = new tbl_Student();
ts.Firstname = textBox1.Text;
ts.Lastname = textBox2.Text;
ts.Location = textBox3.Text;
ts.Email = textBox4.Text;
db.tbl_Students.InsertOnSubmit(ts);
db.SubmitChanges();
答案 0 :(得分:1)
按照规定:
Can't perform Create, Update or Delete operations on a table because it has no primary key in c#
您需要自己尝试执行命令(通过ExecuteCommand
),或者更好 - 修改表格以获得密钥,强烈建议您这样做。
注意:正如我在下面的评论中指出的那样,在添加密钥后,需要重新生成模型。
自行执行查询的示例:
db.ExecuteQuery<Studnet>("INSERT INTO tbl_Student VALUES(Firstname ,LastName, Location, Email)");
答案 1 :(得分:0)
通过设计器生成Linq to SQL类时,数据库表中是否有主键?只是为了确保通过设计师重新生成这些类。