LINQ to SQL Insert Mehrere Tabellen Frage

Habe ich 3 Tabellen. Ein primäre EmploymentPlan Tabelle mit PK GUID EmploymentPlanID und 2 FK ' s GUID PrevocServicesID & GUID JobDevelopmentServicesID. Es gibt natürlich noch andere Felder, die fast ausschließlich varchar(). Dann die 2 sekundären Tabellen mit den entsprechenden PK zu den PV FK ist.

Ich versuche zu schreiben, die LINQ-Methode EINFÜGEN und am kämpfen mit der Erstellung des keys. Sagen, ich habe eine Methode wie unten. Ist das richtig? Wird dass auch funktionieren? Sollte ich haben seperate Methode für jeden?

Auch, wenn einfügen ich glaube nicht, dass ich brauchte, um die PK für eine Tabelle. Es ist automatisch generierte, Nein?

Dank.

public static void InsertEmploymentPlan(int planID, Guid employmentQuestionnaireID, string user, bool communityJob, bool jobDevelopmentServices, bool prevocServices, bool transitionedPrevocIntegrated, bool empServiceMatchPref)
{
    using (var context = MatrixDataContext.Create())
    {
          var empPrevocID = Guid.NewGuid();
          var prevocPlan = new tblEmploymentPrevocService
          {
              EmploymentPrevocID = empPrevocID
          };
          context.tblEmploymentPrevocServices.InsertOnSubmit(prevocPlan);

          var empJobDevID = Guid.NewGuid();
          var jobDevPlan = new tblEmploymentJobDevelopmetService()
          {
              JobDevelopmentServicesID = empJobDevID
          };
          context.tblEmploymentJobDevelopmetServices.InsertOnSubmit(jobDevPlan);

          var empPlan = new tblEmploymentQuestionnaire
          {
              CommunityJob = communityJob,
              EmploymentQuestionnaireID = Guid.NewGuid(),
              InsertDate = DateTime.Now,
              InsertUser = user,
              JobDevelopmentServices = jobDevelopmentServices,
              JobDevelopmentServicesID =empJobDevID,
              PrevocServices = prevocServices,
              PrevocServicesID =empPrevocID,
              TransitionedPrevocToIntegrated =transitionedPrevocIntegrated,
              EmploymentServiceMatchPref = empServiceMatchPref 
          };
          context.tblEmploymentQuestionnaires.InsertOnSubmit(empPlan);

          context.SubmitChanges();
    }
}

Ich verstehen, ich kann auch mehr als 1 InsertOnSubmit(), Siehe diese Frage, ich verstehe einfach nicht, wie das wäre für meine situation und die PK/FK-Erstellung.

Schreibe einen Kommentar