Simplement tremper mes orteils dans le projet Linq2sql après des années de rouler mes propres routines d'accès DB SQL Server. Avant de passer trop de temps à essayer de faire en sorte que linq2sql se comporte comme mon code habituel, je veux vérifier qu'il ne soit pas déjà "construit" dans le comportement que je puisse utiliser en le configurant les bonnes relations dans le concepteur ...Linq2sql peut-il le faire sans beaucoup de code personnalisé?
exemple très simple:
J'ai deux tables: personne et notes, avec une relation 1 à plusieurs (1 personne, beaucoup de notes), reliées par Person.ID- > Note.PersonID.
J'ai une procédure stockée (tous les accès aux données se font via des SP et je prévois de continuer) ce qui fait que le Link2SQL fonctionne un peu mieux pour moi.
sp_PersonGet (@ID int) qui renvoie le dossier de la personne et sp_PersonNotesGet (@PersonID) qui renvoie un ensemble de notes connexes pour cette personne.
Jusqu'à présent, si bon, j'ai un objet:
Dim myPerson As Person = db.PersonGet(pnID).Single
et je peux accéder à mes champs: myPerson.Name, myPerson.Phone etc.
et je peux aussi faire un
Dim myNotes As Notes = db.PersonNotesGet(pnID)
pour obtenir un ensemble de notes et je peux itérer à travers cette liste comme:
For Each N As Note In myNotes (do something) Next
tout cela fonctionne très bien ... mais .... Ce que je préférerais que si je l'appelle:
myPerson = db.PersonGet(pnID)
que je finis aussi avec une collection de myPerson.Notes que je peux itérer à travers .
For Each N As Note In myPerson.Notes (do something) Next
Fondamentalement, linq2sql aurait besoin d'appeler 2 procédures stockées chaque fois qu'un enregistrement de personne est créée ...
Est-ce faisable « hors des sentiers battus », ou est-ce que je dois coder autour pour moi-même?