linq to sql insert语句不起作用

时间:2011-09-20 20:44:35

标签: c# linq-to-sql

我有以下代码:

        pillboxDataContext db = new pillboxDataContext();

        userAccount newUser = new userAccount();
        newUser.userName = "test123";
        newUser.userPhone = "1234567890";
        newUser.userEmail = "test@test.com";
        newUser.userPwd = "testpassword";
        newUser.userCreateDate = DateTime.Now;
        newUser.userAccountType = "basic";

        db.users.Add(newUser);
        db.SubmitChanges();

userAccount是我的对象,具有属性(与用户表匹配)。

我对db.users.Add(newUser);行感到困惑。 .Add表示:System.Data.LINQ.Table不包含“添加”的定义。

我所遵循的示例似乎表明应该允许.Add。我是新手,所以请任何建议都非常有帮助。

更新

我将其更改为db.users.InsertOnSubmit(newUser);但是,我仍然收到错误:

  

最佳重载方法匹配   'System.Data.Linq.Table.InsertOnSubmit(user)'有一些无效   参数

修正!

在查看其他代码示例后,我发现我将数据分配给类(userAccount)而不是表(用户)。

所以我改为:userAccount newUser = new userAccount();改为user newUser = new user(); 然后一切都像我预期的那样有效。

感谢您的信息!

2 个答案:

答案 0 :(得分:6)

是的,Add无效 - 我怀疑你想要InsertOnSubmit

db.users.InsertOnSubmit(newUser);
db.SubmitChanges();

答案 1 :(得分:1)

您的代码是:

db.users.InsertAllOnSubmit(newUser);

Jon建议你的代码应该是:

db.users.InsertOnSubmit(newUser);

两者之间存在巨大差异。 IDE对这类事情非常有帮助......