/// <summary>
        /// Fetches the complete set of elements and returns this set as an IEnumerable.
        /// </summary>
        /// <returns>the set fetched</returns>
        public override IEnumerable <SohRow> FetchSet()
        {
            var headers = new SohTypedView();

            using (var adapter = new DataAccessAdapter())
            {
                adapter.FetchTypedView(headers, true);
            }
            return(headers);
        }
        /// <summary>
        /// Fetches the individual element
        /// </summary>
        /// <param name="key">The key of the element to fetch.</param>
        /// <returns>The fetched element, or null if not found</returns>
        public override SohRow FetchIndividual(int key)
        {
            var toFetch = new SohTypedView();

            using (var adapter = new DataAccessAdapter())
            {
                adapter.FetchTypedView(toFetch, new RelationPredicateBucket(SohFields.SalesOrderId == key), true);
            }
            return(toFetch.First());
        }