LINQ to SQL - 插入新记录

时间:2011-05-24 15:22:58

标签: linq-to-sql

我有一个带有自动递增ID字段的数据库表。此表通过实体数据模型通过代码公开。我正在尝试为此表写一条新记录。我有一个方法需要负责创建这些记录。此方法接受记录的属性值。它需要创建一个记录,并在另一个表中写一个引用记录。目前,这是我正在尝试的

public int CreateRecord(string name, string description, List<int> ids)
{
  using (DatabaseContext database = new DatabaseContext())
  {
    Record record = new Record();
    record.Name = name;
    record.Description = description;

    database.Records.InsertOnSubmit(record);
    database.SubmitChanges();

    List<RecordTrack> tracks = new List<RecordTrack>();
    foreach (int id in ids)
    {
      RecordTrack track = new RecordTrack();
      track.RecordID = record.ID;
      track.ID = id;
      tracks.Add(track);
    } 
    database.Tracks.InsertAllOnSubmit(tracks);
    database.SubmitChanges();
  }
}

我似乎无法以这种方式获取记录。当我通过记录时我能够插入我想要插入的内容。但由于其他因素,我需要一种从头开始纯粹创建记录的方法。我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

数据库上下文中应该有AddToRecord()函数。使用该函数添加record变量,然后从数据库上下文中调用SaveChanges()