Как использовать PK & FKs в таблице INSERT INTO - PullRequest
0 голосов
/ 10 октября 2018

Я изучаю sql и RDBMS как почти новичка.Я пытаюсь понять концепцию использования PK и FK в контексте INSERT INTO [таблица], упомянутой ниже.Что меня смущает, например, когда у меня есть этот класс Email, который имеет FK из класса Person.Нужно ли упоминать / использовать его в предложении INSERT INTO [] () и, следовательно, в AddWithValue ()?Кроме того, нужно ли упоминать EmailID класса Email в INSERT INTO ()?

Я ценю, что кто-то дал мне объяснение, понимающее эти основы.

   public void CreateEmailDB(ref Email email)
    {
        string CreateEmail = @"INSERT INTO [Email] (EmailAddress, PersonID)
                                                OUTPUT INSERTED.EmailID  
                                                VALUES (@EmailId, @emailAddress, @PersonID)";

        using (SqlCommand cmd = new SqlCommand(CreateEmail, OpenConnection))
        {
            cmd.Parameters.AddWithValue("@EmailAddress", email.EmailAddress);
            cmd.Parameters.AddWithValue("@PersonID", email.PersonID);
            email.PersonID = (int)cmd.ExecuteScalar(); //Returns the identity of the new tuple/record
        }
    }
...