public override global::System.Data.DataSet Clone() { DataBaseSet cln = ((DataBaseSet)(base.Clone())); cln.InitVars(); cln.SchemaSerializationMode = this.SchemaSerializationMode; return(cln); }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { DataBaseSet ds = new DataBaseSet(); global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); any.Namespace = ds.Namespace; sequence.Items.Add(any); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }
private static List<DataBaseSet> ReadDalDataBaseSet() { List<DataBaseSet> dataBaseSets = new List<DataBaseSet>(); try { string configFile = Path.Combine(System.Web.HttpRuntime.AppDomainAppPath, "Web.config"); XDocument xDocument = XDocument.Load(configFile); var dalsection = xDocument.Root.Descendants("section").FirstOrDefault(c => c.Attribute("type") != null && c.Attribute("type").Value.Contains("Arch.Data.DbEngine.Configuration.DbEngineConfigurationSection")); if (dalsection != null) { string name = dalsection.Attribute("name").Value; var dal = xDocument.Root.Descendants(name).FirstOrDefault(c => c.Attribute("configSource") != null); if (dal != null) { string dafile = Path.Combine(System.Web.HttpRuntime.AppDomainAppPath, dal.Attribute("configSource").Value); XDocument dalDocument = XDocument.Load(dafile); DataBaseSet dataBaseSet = null; foreach (var setitem in dalDocument.Root.Elements("databaseSets").Elements("databaseSet")) { dataBaseSet = new DataBaseSet() { Name = setitem.Attribute("name").Value, PName = setitem.Attribute("provider").Value, DBS = new List<Item>() }; foreach (var item in setitem.Elements("add")) { dataBaseSet.DBS.Add(new Item() { Name = item.Attribute("name").Value, DBType = item.Attribute("databaseType").Value, Sharding = item.Attribute("sharding").Value, ConnStr = item.Attribute("connectionString").Value }); } dataBaseSets.Add(dataBaseSet); } } } } catch (Exception ex) { logger.Info("ReadDalDataBaseSet ", ex.Message, null); } return dataBaseSets; }