I was under the impression that when using a BO field property and there is not record i the BO, that it should simply return the empty value of that property and avoid having to do all the BO.Count checking.
No, it is designed and intended this way.
I may be wrong, but while testing all the .NET frameworks in the market for me to use, I believe one of them will just return the equivalent of the default empty value of the property being used, but again, I can not be sure, just thought it could be done
I answered this point above...we tested this on a framework prior to writing SF...and this is a really bad standard on their part! If we just returned a default value, then you could have a bug and not know about it. For example, if a value is return for a string (empty string), and you thought a record (as the end-user would at this point) was available and saved, then it would appear that you have data loss, when in fact you don't...you have a bug.
We can discuss this more in class, but this is something that we will not change which says a lot because we are always open for discussion in how to improve the framework. But this would put all of our users at risk which it is our responsibility as developers of a framework to instill best practices and protect our users. So it is as it was intended and should be to best protect our users. If you don't like this logic, then overwrite this logic in your base BO class....however, I would strongly advise against this!!!