LINQ to SQL - вставить новую запись - PullRequest
6 голосов
/ 24 мая 2011

У меня есть таблица базы данных с автоинкрементным полем ID. эта таблица предоставляется кодом через Entity Data Model. Я пытаюсь записать новую запись в эту таблицу. У меня есть метод, который должен отвечать за создание этих записей. Этот метод принимает значения свойств записи. Нужно создать запись и записать справочную запись в другую таблицу. В настоящее время вот что я пытаюсь

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 Ответ

1 голос
/ 24 мая 2011

должна быть функция AddToRecord() в контексте вашей базы данных.Используйте эту функцию, чтобы добавить переменную record, а затем вызвать SaveChanges() из контекста базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...