LINQ / C#中的值插入错误用于列标识

时间:2013-07-09 19:39:40

标签: c# linq linq-to-sql

我使用的以下代码。 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();

2 个答案:

答案 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类时,数据库表中是否有主键?只是为了确保通过设计师重新生成这些类。