- ISBN13: 978-1-4302-1019-1
- ISBN10: 1-4302-1019-2
- 750 pp.
- Published Dec 2008
- Print Book Price: $59.99
- eBook Price: $41.99
Errata Submission
If you think that you've found an error in Expert C# 2008 Business Objects, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.
Errata
| Issue | Author's Response |
|---|---|
| Chapter 2, page 63. The descriptions of both Editable root list and Read-only root list say they contains lists of child objects. Don't they contain lists of root objects? | No. An Editable root list contains editable child objects. An Editable read-only list contains read-only objects (there's less distinction between root/child in the read-only scenario). The Dynamic list contains editable root objects. For more discussion/information refer to http://forums.lhotka.net |
| Chapter 2, Page 49 and 50 NewCustomer() and GetCustomer() has a line that reads "return = ...". I am not sure whether "return =" will compile. Chapter 2, Page 63 The Base Class associated with the stereotype "Read-only child list" should be ReadOnlyListBase<T,C> and not ReadOnlyListBase<T> |
The issue on page 49 and 50 is correct, "return =" should be just "return ". The issue on page 63 is a duplicate of previously reported errata, but is correct. |
| Chapter 17, p. 541 The code example should read SetProperty(IdProperty, GetMax() + 1); |
Correct - the extra "1);" at the end should be removed. |
| Chapter 4, p.155 last line should read "an expansion of Figure 4-9" |
It should read Figure 4-9 |
| Chapter 5, page 190 Should the override of AddNewCore() be: protected override object AddNewCore() {...} instead of, protected override EditableChild AddNewCore() {...} as stated in the book? |
Yes, that is correct. |
| http://www.lhotka.net/files/apress/10191f1006.tif link is no longer working |
Fixed link. |
| Chapter 21, Page 688 The cacls.exe command is incorrect. The ???'s should not be there, and the _ in "NETWORK_SERVICE" should not be there. |
The _ in NETWORK SERVICE is a known issue. It is true that the second code line on the page should start out like this: cacls.exe "C:\Documents..." |
| Chapter 3, page 124 "The ProjectInfo and ResourceInfo classes don't inherit from any CSLA.NET base classes". This confused me as the Read-Only Root object(ROR) and Name/value sterotypes seemed like a good candidate, which are implemented by the ReadOnlyBase<T> and NameValueListBase<T> classes respectively. In chapter 17, you do implement ProjectInfo and ResourceInfo classes with ReadOnlyBase<T> being the base class. |
These two classes do not technically need to inherit from ReadOnlyBase, though they can. In older versions of ProjectTracker they did not, but I chose to change their implementation late in the game in this revision. So yes, the text on p 124 should reflect that they do, but aren't required to, inherit from ROB. |
| Chapter 4 page 156 The diagram Loading child objects with data is not correct. What is Object1? |
The "Object1" label should read "DataPortal" |
| Chapter 10, page 320 Figure 10-6 isn't correct, it doesn't show the PropertyStatus |
You are right, that is the wrong graphic. The correct one is at http://www.lhotka.net/files/apress/10191f1006.tif |
| Chapter 4, Page 162, I think in block of "if(disposing)" should was "free managed resources" not "free unmanaged resources" | Yes, that is correct and the code in the book is incorrect. |
| Chapter 4, Page 156, second paragraph from end, I think "DataPortal_Update()" is correct instead of "DataPortal.Update()" | Yes, it should read DataPortal_Update() |
| Chapter 17, Page 534 "These roles are checked by each property and by the CanExecuteMethod() method." typo -> "roles" should be "rules" |
I think either word works there. They are rules, but they are also roles. |
| Chapter 17, Page 533 "The IHoldRoles interface will be used to allow the ValidRule method to access the Role property." typo -> ValidRule should be ValidRole |
That is a typo, thank you. |
| Chapter 3, Page 129 "The table also has a LastChanged column, which will be used to implement otimistic, first-write-wins concurrency in Chapter 18." typo -> otimistic should be optimistic |
Yes, that is a typo, thank you. |
| chapter 1: page 28 This (Mobile Objects) reduces maintenance!! |
That is a valid word choice, yes. |
| table 5.2 reads Child_DeleteSelf() --------------------------------------------------- IsNew is true; IsDirty is true; IsDeleted is false is that correct, or should it read... IsNew is false; IsDirty is true; IsDeleted is true thanks.. /rb |
The table is correct. When DataPortal_DeleteSelf() completes the object should be new, dirty and not marked for deletion (because it has already been deleted). |
| chapter 2 : page 65 (ebook) : should be "difference" Notice that there’s no different from the previous root object. /rb |
That is correct, it should read "difference". |
| Page 67 2nd paragraph from the bottom under Command. It currently reads ...processing required to ship and order or post an invoice. Supposed to read ...processing required to ship an order and post an invoice. | Yes, it should read "required to ship an order". |
| Chapter 03, pg. 134 BrokenRulesCollection Class. Code at bottom of page internal void Add(ValidationRules.RuleMethod rule) should read internal void Add(Validation.RuleMethod rule) and internal void Remove(ValidationRules.RuleMethod rule) should read internal void Remove(Validation.RuleMethod rule) |
This code doesn't appear on page 134. |
| Chapter 4, Page 154, Figure 4-10. bottom right box that states "Factory object loads root object's defaults at this point" should read "Factory object loads root object's data at this point" in short replace default with data. | That is correct. Also, the caption for the figure should use the word "Retrieving" instead of "Creating". |
| Chapter 2 Page 63 I thinnk the Base Class associated with the Editable Child stereotype should be BusinessBase<T> and not BusinessListBase<T, C>. Likewise, the Base Class associated with the Editable Root List Stereotype should be BusinessListBase<T, C>, and not BusinessBase<T>. |
That is correct, those two base classes are reversed in the table. |
| Chapter 2, Page 39, The reads: "■Tip The Diagrams folder in the Csla project in the code download includes FullCsla.cd, which shows all the framework classes in a single diagram. You can also get a PDF document showing that diagram at www.lhotka.net/cslanet/download.aspx." This diagram is not shown on the download page. |
The diagram is part of the framework download, and is a Visual Studio class diagram you can access when you have the project open in Visual Studio. |
