public int CategoryID { get { return this.DataRow["CategoryID"]; } set { this.DataRow["CategoryID"] = value; } }Alternately, you can create enumerations for your database fields so you can use an integer to specify the column, rather than the name (which incurs a slight performance hit). For example:
public int CategoryID { get { return this.DataRow[Category.CategoryID]; } set { this.DataRow[Category.CategoryID] = value; } }Regarding O/RM, it's the main feature we're working on after we finish incorporating Infragistics Windows controls into MM .NET. This is similar to Microsoft's ObjectSpaces technology...the nice part of O/RM is that it adds a layer of abstraction to data access. The down side is the performance hit you pay for this layer of abstraction. Using the data-centric approach MM .NET currently takes is definitely the fastest way to retrieve and bind data. That said, we do appreciate the value of abstraction and that's why we're adding this as an option for developers who are interested in O/RM.