public void AddBuilding(Building building)
        {
            if (building.Technology != null)
            {
                var persistedTechnology = _session.Get<Technology>(building.Technology.TechnologyId);
                if (persistedTechnology == null)
                {
                    throw new ChildObjectNotFoundException("Technology not found");
                }
                building.Technology = persistedTechnology;
            }

            // Persist building and its relationships
            _session.SaveOrUpdate(building);
        }
        public virtual void UpdateBuildingTechnology(Building building, long? technologyId)
        {
            building.Technology = null;

            if (technologyId != null)
            {
                var technology = GetValidTechnology(technologyId.Value);
                building.Technology = technology;
            }
        }