LINQ to SQL - Insert Nouveau Record
J'ai une table de base de données avec une incrémentation automatique du champ ID. ce tableau est exposé par le code par l'intermédiaire d'un Modèle de Données d'Entité. Je suis en train d'écrire un nouveau record à cette table. J'ai une méthode qui doit être responsable de la création de ces registres. Cette méthode prend dans les valeurs de propriété de l'enregistrement. Il a besoin de créer un dossier et de rédiger un dossier de référence dans une autre table. Actuellement, voici ce que je suis en train
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();
}
}
Je n'arrive pas à obtenir l'enregistrement pour enregistrer de cette manière. J'ai été capable de le faire quand je suis passé à un Enregistrement de ce que je voulais insérer. Mais pour d'autres raisons, j'ai besoin d'un moyen de purement créer le dossier ici à partir de zéro. Ce que je fais mal?
Merci!
Est votre piste de table également l'auto-incrémentation? Dans ce cas, vous ne pouvez pas définir l'ID comme vous le faites ici
OriginalL'auteur Villager | 2011-05-24
Vous devez vous connecter pour publier un commentaire.
il devrait y avoir un
AddToRecord()
fonction de votre contexte de base de données. Utiliser cette fonction pour ajouter votrerecord
variable et ensuite appelerSaveChanges()
à partir de votre base de données de contexte.Cela devrait être une fonction qui est créée automatiquement par votre contexte. Je suppose que, puisque vous avez
SubmitChanges
au lieu deSaveChanges
, vous utilisez quelque chose que je ne suis pas familier avec.Essayez db.TableName.Ajouter(record); db.SaveChanges();
Je ne peux pas trouver les méthodes de trop! que faire?
OriginalL'auteur dtryan