我几乎是个初学者,正在学习sql和RDBMS。 我尝试在下面提到的INSERT INTO [表]上下文中理解PK和FK使用的概念。令我感到困惑的是,例如,当我拥有这个Email类,该类具有来自Person类的FK时。我是否需要在INSERT INTO []()子句中以及因此在AddWithValue()中提及/使用它? 以及,我是否必须在INSERT INTO()中提及Email类的EmailID?
我感谢有人给我一个解释,以了解这些基本知识。
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
}
}