没有主键的LINQ DeleteOnSubmit

时间:2017-09-19 07:43:13

标签: c# sql-server linq

我有以下代码,我想从TABLE中删除列中的所有行' id'不是主键。

@{
using (var db = new DataClassesDataContext())
{
    var query = db.Table.Where(r => r.id == 2).ToList();
    if (query != null)
    {
    foreach (var q in query)
    {
    db.Table.DeleteOnSubmit(q);
    }
    }
    db.SubmitChanges();
}}

这会抛出System.InvalidOperationException,因为该表没有主键列。

如果不在SQL Server数据库中添加主键,怎么可能呢?

提前致谢

1 个答案:

答案 0 :(得分:2)

打开LINQ Designer。打开要从中删除记录的表的属性窗口。单击要删除的实体中的任何列,您将看到标记为"主键"的属性。对于要用作主键的列,将值更改为true。

P / S:这不会在您的真实桌面上设置主键。