linq-to-sql InsertOnSubmit

时间:2011-12-22 22:56:05

标签: c# linq linq-to-sql

我有一个映射到数据库表的对象模型。更新查询现在看起来像这样:

public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject)
{
  using (MyDataContext TheDC = new MyDataContext())
  {
    TheDC.MyTable.InsertOnSubmit(TheNewObject);
  }

  return TheNewObject;
}

该代码不适用于插入部分(它告诉我InsertOnSubmit有一些无效的参数)。另外,我想返回插入的对象,以便我可以获取插入项的主键值。

我需要改变什么? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:3)

确保在MyTable.InsertOnSubmit(TheNewObject)中新对象是MyTable可以接收的类型。电话SubmitChanges()

public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject)
{
  using (MyDataContext TheDC = new MyDataContext())
  {
    TheDC.MyTable.InsertOnSubmit(TheNewObject);
    TheDC.SubmitChanges();
  }

  return TheNewObject;
}

答案 1 :(得分:2)

如果MyTable的类型为Table<ObjectModel>,则只能添加ObjectModel类型的对象。尝试在linq2sql设计器中创建包含其所有属性的MyObjectModel类。