Ok I have seen this issue over several news groups but not one clear answer. <BR><BR>I am building a product catalogue.<BR><BR>2 tables-Product table, prices table<BR>1 product has many prices(1 per currency)<BR><BR>I have a predefined DataSet. I have set up the parent child relationships between product and prices.<BR><BR>I have experimented with the cascade, none etc options for Update, Delete, and AcceptRejectRule.<BR><BR>I have the application in tiers. My DataAccessLayer has a DA for each of my tables. I want to specify on my rules layer the order in which I call the update method. I am passing just the table to the DA.Update method.<BR><BR>After stepping through the code as soon as the ProductDA.Update is finished I look at the DS through the quickwatch and see that the RowState for the prices table have gone from Added to unchanged. <BR><BR>So the question is, what is the best fricken practice here.<BR><BR>Do I define relationships or not? If I do not then the incrementing identity column on the product table does not perculate to the prices table. If I do then the moment I call ProductDA.Update the RowState changes from Added to unchanged thus not updating my data source.<BR><BR>Please help!<BR><BR>PS I am so close to just calling the individual commands but I want to leverage the Update method but so far its been a pain in the ***.