I am new to table valued parameter. I have two tables: Business(parent) and Businessdetail(child). There is one column: business_id which is primary key for business table and foreign key for businessdetail. The relation between two table:
ds.Relations.Add(new DataRelation("Business_BusinessDetail", ds.Tables["Business"].Columns["Business_ID"],ds.Tables["BusinessDetail"].Columns["Business_ID"]));
Now, while inserting parent table using table valued parameter, i want to update the primary key before i do insert in child table.My code:
//parent
SqlParameter tvpParamparent = insertCmd.Parameters.AddWithValue("@Business", newBusinessDS.Tables["Business"]);//Needed TVP
tvpParamparent.SqlDbType = SqlDbType.Structured;
insertCmd.ExecuteNonQuery();-->does not update business_id
//child
SqlParameter tvpParamchild = insCmdChild.Parameters.AddWithValue("@BusinessDetail", newBusinessDS.Tables["BusinessDetail"]);
tvpParamchild.SqlDbType = SqlDbType.Structured;/
insCmdChild.ExecuteNonQuery();-->it throws an error:"The MERGE statement conflicted with the FOREIGN KEY constraint "FK_BusinessDetail_Business""