public DomainObjectBroker(DomainObjectBrokerBuilder brokerBuilder)
        {
            m_brokerBuilder = brokerBuilder;

            m_newItemCommand = new Lazy<DbCommonCommand>(m_brokerBuilder.GetNewItemCommand);
            m_loadItemsCommand = new Lazy<DbCommonCommand>(m_brokerBuilder.GetLoadItemsCommand);
            m_loadLinkedItemsCommand = new Lazy<DbCommonCommand>(m_brokerBuilder.GetLoadLinkedItemsCommand);
            m_saveItemCommand = new Lazy<DbCommonCommand>(m_brokerBuilder.GetSaveItemCommand);
            m_deleteItemsCommand = new Lazy<DbCommonCommand>(m_brokerBuilder.GetDeleteItemsCommand);
        }
        public DomainObjectBroker GetObjectBroker(string objCode)
        {
            DomainObjectBroker result = null;
            if (m_domainObjectBroker.TryGetValue(objCode, out result))
                return result;

            var query = from link in m_inquiry.ALinks
                        where (link.LeftObject.Code == objCode && link.IsLeftToRightActive) || (link.RightObject.Code == objCode && link.IsRightToLeftActive)
                        select link;

            DomainObjectBrokerBuilder brokerBuilder = new DomainObjectBrokerBuilder(m_inquiry.AObject[objCode], query.ToArray(), m_connection);
            result = new DomainObjectBroker(brokerBuilder);
            m_domainObjectBroker.Add(objCode, result);

            return result;
        }