En essayant d'utiliser LINQ to SQL, j'ai rencontré plusieurs problèmes.LINQ to SQL
J'ai des personnes de table:
- int ID chaîne
- prenom
- chaîne lastName
et des notes de table qui a:
- int ID chaîne
- NoteText
- chaîne CreatedBy
- datetime creationDate
- int PersonID
PersonID est une clé étrangère et la relation est 1: n
j'ai essayé d'utiliser LINQ to SQL pour créer une personne et quelques notes pour chaque personne.
Person person = new person();
Person.firstName = "me";
Person.note = new note();
Person.note.noteText = "some text…";
_DataContext.Persons.InsertOnSubmit(person);
_DataContext.SubmitChanges();
Le problème est que l'objet personne n'existe pas encore dans la base de données, donc il n'a pas encore d'ID. Donc le note.personID filed a une valeur 0 ... (le champ ID est un champ d'identité dans le serveur sql)
La seule solution pour cela que j'ai trouvé est de créer une personne, soumettre des modifications et ensuite créer une note et soumettre des changements encore. Est-ce qu'il me manque quelque chose ici ou peut-être que c'est comme ça qu'on devrait travailler avec LINQ to SQL?
Comment puis-je ajouter plusieurs notes par personne avec LTS? J'ai une relation 1: n et je ne le vois pas avec LTS.
Si une personne a 10000 notes, je ne veux pas que le constructeur de l'objet personne charge toutes les notes qu'il a. Je veux les charger seulement quand je me réfère à eux. Comment puis-je configurer LTS pour charger les notes à la demande?
est votre PersonID une clé étrangère sur la table des notes? Si oui, il devrait être géré automatiquement comme vous le souhaitez – JohnIdol
Question très bien écrite! +1 –