In today's SalesLogix Web Developer class, we discussed an issue that
someone in the class was having at runtime with a relationship that had a property that started with lower-case letters. Here are the details of that issue and
the fix:
Scenario
Create a entity named
"testProject" and then relate it to the Account entity. In the
relationship, the Account will have a collection named "testProjects"
(notice the property name starts lower case). You'll then use that
relationship when you wire up your lookup on a form.
Problem
Every
things builds fine, however at runtime you get an error saying "Could
not find field '_TestProjects' in class
Sage.SalesLogix.Entities.Account". Notice that the error refers to the
property with an uppercase "T".
Solution
To fix this you just need to simply delete (or change) the relationship property to NOT start lower-case. Always name your relationship properties Proper-case, starting with an upper case letter always.
I don't know why this problem occurs. Seem that somewhere in the system an assumption is being made that the property name will be proper-cased (starting with an upper-case letter). However, I can tell you that you don't see the problem if you use the first letter upper-cased for the properties created in the relationship. Weird.