Linq to Sql Добавить метод - PullRequest
       13

Linq to Sql Добавить метод

0 голосов
/ 20 февраля 2012

Давайте предположим, что у нас есть эта таблица

CREATE TABLE dbo.Students
(
  StudentID INT IDENTITY(1,1) PRIMARY KEY,
  Name varchar(50)
);

CREATE TABLE dbo.StudentLoans
(
  LoanID INT IDENTITY(1,1) PRIMARY KEY,
  StudentID INT FOREIGN KEY REFERENCES dbo.Students(StudentID),
  Amount int
);

и у нас есть следующий код в виде кода

using(var myContextInstance=new YourContext())
{
    var student = new Student(){Name = "user962206"};
    var studentLoan = new StudentLoan(){Amount = 50000};
    student.StudentLoans.Add(studentLoan);
    myContextInstance.Students.InsertOnSubmit(student);
    myContextInstance.SubmitChanges();
}

и давайте далее предположим, что я перетащил свою таблицу в конструктор O / R, и в то же время у меня есть класс LINQ to SQL classes

Что делает каждая строка кода здесь? в частности,

student.StudentLoans.Add(studentLoan);

Что конкретно делает метод .Add (studentLoan)?

1 Ответ

2 голосов
/ 20 февраля 2012

Будет вставлена ​​новая запись в таблицу StudentLoans.StudentId этой новой записи будет иметь значение только что добавленного студента.

edit

Другой способ

using(var myContextInstance=new YourContext())
{
    // create a new student instance
    var student = new Student(){Name = "user962206"};
    // inserts this student by calling SubmitChanges; student.StudentID will have new value from database
    myContextInstance.Students.InsertOnSubmit(student);
    myContextInstance.SubmitChanges();

   // create a new student load object
    var studentLoan = new StudentLoan(){Amount = 50000};
   // assign the StudentID
    studentLoan.StudentID = student.StudentID; 
    // you can assign the student via the Student property also
    // or studentLoan.Student = student;

    // save the new StudentLoan object into the database
    myContextInstance.StudentLoans.InsertOnSubmit(studentLoan);
    myContextInstance.SubmitChanges();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...