2009-07-25 108 views
1

我有一个表白衣2列,ID和名称。我为ID列设置'YES'标识。自动生成LINQ到SQL

我想插入数据到表格中。LINQ。我想在应用程序中只获取用户的名称列,然后ID列自动填充到数据库,我不能给数据列和填充缺省我给它。

我该怎么办?

我在c#中编写并工作在LINQ。

回答

5

所以你的数据库字段已经是一个INT IDENTITY - 对吗?

接下来,在你的LINQ to SQL设计,你需要确保你的列设置为:

  • 自动生成的值= TRUE
  • 自动同步= ON INSERT

enter image description here

现在,如果向数据库添加条目,则该ID将自动由数据库分配给它的值更新:

YourClass instance = new YourClass(); 
instance.Name = "some name"; 

YourDataContext.InsertOnSubmit(instance); 
YourDataContext.SubmitChanges(); 

在SubmitChanges调用之后,您的instance.ID现在应该包含数据库中的ID。

0

如果您使用了DBML设计器,则应该正确设置。

调用SubmitChanges后,将会填充'id'。

+0

我该如何做这项工作? 这是我的问题,我不能这样做。 – 2009-07-25 20:33:09

0

确保您的数据库表安装正确,并且您的ID设置为主键字段并自动递增。如果需要删除对象并重新添加,请重新生成DBML。它应该知道该ID不是必需的,并且插入成功后自动填充它。