Building on the object-relational concepts discussed in Chapter 18, this chapter deals with the common problems encountered in a mapped system, including performance considerations and how to use data binding. Data binding is the preferred way to work with data in .NET, but you'll need to alter your code slightly when using mapped objects. In addition, performance is always a consideration in creating a scalable system, but often many of the things that improve performance can lead to an unmaintainable system design. In the performance part of the chapter, it discusses common performance problems such as managing large tree structures and balancing the ease of use that lazy loading can provide vs. reducing round trips to the database.