I'm obviously missing something, but I can't seem to add a record to a business object programmatically. I have the following code segment:
ContactRoleLink.PrimaryKeyIsAutoIncremented = false;
ContactRoleLink.NewRow();
ContactRoleLink["ID_CON"] = aContactId;
ContactRoleLink["ID_RL"] = Int32.Parse(ctlDropDown.SelectedValue);
ContactRoleLink["IND_STS"] = ctlRadio.SelectedValue;
ContactRoleLink.Save(true, "ContactRoleUpdate");
When it attempts to access the ID_CON attribute, I get a business layer exception that there is no current row. I've also tried calling the Add() method
after creating the new row and calling the Add() method
instead of creating a new row. Both blow up at the same location.
I do realize there are flags in the Business Layer Link Manager (BLLM) object that indicate a link row should be added when a new row is added to table 2, however because of the way this page is constructed and this particular relationship, it's not an option. It does, however seem to be related to the BLLM object. I'm able to add a link programmatically to a different link business object using the same code as above (with a different link object substituted for ContactRoleLink).
I'm going to bring up the subject of documentation again because it's something that would be very helpful in determining exactly what one should do. Simple examples can only go so far, especially when trying to figure out how to implement something like the BLLM -- it's really useful, but only if I know how it will be affected by my changes and seems even more relevant now that I believe I've tracked the source of my problem to something having to do with the BLLM.