public static DbModelPlus GetCodeFirstModel(XDocument xml)
        {
            var model = new DbModelPlus();

            var root = xml.Root.RemoveAllNamespaces();
            var conceptualString = root.Element("Runtime").Element("ConceptualModels").Elements().ElementAt(0).ToString();
            var storageString = root.Element("Runtime").Element("StorageModels").Elements().ElementAt(0).ToString();
            var mappingString = root.Element("Runtime").Element("Mappings").Elements().ElementAt(0).ToString();

            model.ConceptualModel = conceptualString.DeserializeXml<Schema>();
            model.StoreModel = storageString.DeserializeXml<Schema>();
            model.MappingModel = mappingString.DeserializeXml<SchemaMapping>();

            BuildSchema(model.ConceptualModel);
            BuildSchema(model.StoreModel, true);
            BuildMapping(model.MappingModel, model.ConceptualModel, model.StoreModel);

            return model;
        }