Updates referencesource to .NET 4.7
[mono-project.git] / mcs / class / referencesource / System.Data.Entity.Design / System / Data / Entity / Design / SSDLGenerator / TableDetailsCollection.cs
blobb79aee2c9a756899cf3206d185de138e5f64a155
1 //---------------------------------------------------------------------
2 // <copyright file="TableDetailsCollection.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
4 // </copyright>
5 //
6 // @owner Microsoft
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
9 using System.Collections.Generic;
10 using System.Xml;
11 using System.Data.Common;
12 using System.Globalization;
13 using System.Data;
15 namespace System.Data.Entity.Design.SsdlGenerator
17 /// <summary>
18 /// Strongly typed DataTable for TableDetails
19 /// </summary>
20 [Serializable]
21 internal sealed class TableDetailsCollection : System.Data.DataTable, System.Collections.IEnumerable
23 [NonSerialized]
24 private System.Data.DataColumn _columnCatalog;
25 [NonSerialized]
26 private System.Data.DataColumn _columnSchema;
27 [NonSerialized]
28 private System.Data.DataColumn _columnTable;
29 [NonSerialized]
30 private System.Data.DataColumn _columnFieldOrdinal;
31 [NonSerialized]
32 private System.Data.DataColumn _columnFieldColumn;
33 [NonSerialized]
34 private System.Data.DataColumn _columnIsNullable;
35 [NonSerialized]
36 private System.Data.DataColumn _columnDataType;
37 [NonSerialized]
38 private System.Data.DataColumn _columnMaximumLength;
39 [NonSerialized]
40 private System.Data.DataColumn _columnDateTimePrecision;
41 [NonSerialized]
42 private System.Data.DataColumn _columnPrecision;
43 [NonSerialized]
44 private System.Data.DataColumn _columnScale;
45 [NonSerialized]
46 private System.Data.DataColumn _columnIsIdentity;
47 [NonSerialized]
48 private System.Data.DataColumn _columnIsServerGenerated;
49 [NonSerialized]
50 private System.Data.DataColumn _columnIsPrimaryKey;
52 /// <summary>
53 /// Constructs a TableDetailsDataTable
54 /// </summary>
55 public TableDetailsCollection()
57 this.TableName = "TableDetails";
58 // had to remove these because of an fxcop violation
59 //BeginInit();
60 InitClass();
61 //EndInit();
64 /// <summary>
65 /// Constructs a new instance TableDetailsDataTable with a given SerializationInfo and StreamingContext
66 /// </summary>
67 /// <param name="serializationInfo"></param>
68 /// <param name="streamingContext"></param>
69 internal TableDetailsCollection(System.Runtime.Serialization.SerializationInfo serializationInfo,
70 System.Runtime.Serialization.StreamingContext streamingContext)
71 : base(serializationInfo, streamingContext)
73 UpdateMemberFieldsAfterDeserialization();
76 /// <summary>
77 /// Gets the Catalog column
78 /// </summary>
79 public System.Data.DataColumn CatalogColumn
81 get
83 return this._columnCatalog;
87 /// <summary>
88 /// Gets the Schema column
89 /// </summary>
90 public System.Data.DataColumn SchemaColumn
92 get
94 return this._columnSchema;
98 /// <summary>
99 /// Gets the TableName column
100 /// </summary>
101 public System.Data.DataColumn TableNameColumn
105 return this._columnTable;
109 /// <summary>
110 /// Gets the ColumnName column
111 /// </summary>
112 public System.Data.DataColumn ColumnNameColumn
116 return this._columnFieldColumn;
120 /// <summary>
121 /// Gets the IsNullable column
122 /// </summary>
123 public System.Data.DataColumn IsNullableColumn
127 return this._columnIsNullable;
131 /// <summary>
132 /// Gets the DataType column
133 /// </summary>
134 public System.Data.DataColumn DataTypeColumn
138 return this._columnDataType;
142 /// <summary>
143 /// Gets the MaximumLength column
144 /// </summary>
145 public System.Data.DataColumn MaximumLengthColumn
149 return this._columnMaximumLength;
153 /// <summary>
154 /// Gets the Precision column
155 /// </summary>
156 public System.Data.DataColumn PrecisionColumn
160 return this._columnPrecision;
164 /// <summary>
165 /// Gets the Precision column
166 /// </summary>
167 public System.Data.DataColumn DateTimePrecisionColumn
171 return this._columnDateTimePrecision;
175 /// <summary>
176 /// Gets the Scale column
177 /// </summary>
178 public System.Data.DataColumn ScaleColumn
182 return this._columnScale;
186 /// <summary>
187 /// Gets the IsIdentityColumn column
188 /// </summary>
189 public System.Data.DataColumn IsIdentityColumn
193 return this._columnIsIdentity;
197 /// <summary>
198 /// Gets the IsIdentityColumn column
199 /// </summary>
200 public System.Data.DataColumn IsServerGeneratedColumn
204 return this._columnIsServerGenerated;
208 /// <summary>
209 /// Gets the IsPrimaryKey column
210 /// </summary>
211 public System.Data.DataColumn IsPrimaryKeyColumn
215 return this._columnIsPrimaryKey;
219 /// <summary>
220 /// Gets an enumerator over the rows.
221 /// </summary>
222 /// <returns>The row enumerator</returns>
223 public System.Collections.IEnumerator GetEnumerator()
225 return this.Rows.GetEnumerator();
228 /// <summary>
229 /// Creates an instance of this table
230 /// </summary>
231 /// <returns>The newly created instance.</returns>
232 protected override System.Data.DataTable CreateInstance()
234 return new TableDetailsCollection();
237 private const string CATALOG = "CatalogName";
238 private const string SCHEMA = "SchemaName";
239 private const string TABLE = "TableName";
240 private const string COLUMN = "ColumnName";
241 private const string ORDINAL = "Ordinal";
242 private const string IS_NULLABLE = "IsNullable";
243 private const string DATA_TYPE = "DataType";
244 private const string MAX_LENGTH = "MaximumLength";
245 private const string PRECISION = "Precision";
246 private const string DATETIMEPRECISION = "DateTimePrecision";
247 private const string SCALE = "Scale";
248 private const string IS_IDENTITY = "IsIdentity";
249 private const string IS_SERVERGENERATED = "IsServerGenerated";
250 private const string IS_PRIMARYKEY = "IsPrimaryKey";
252 private void InitClass()
254 this._columnCatalog = new System.Data.DataColumn(CATALOG, typeof(string), null, System.Data.MappingType.Element);
255 base.Columns.Add(this._columnCatalog);
256 this._columnSchema = new System.Data.DataColumn(SCHEMA, typeof(string), null, System.Data.MappingType.Element);
257 base.Columns.Add(this._columnSchema);
258 this._columnTable = new System.Data.DataColumn(TABLE, typeof(string), null, System.Data.MappingType.Element);
259 base.Columns.Add(this._columnTable);
260 this._columnFieldColumn = new System.Data.DataColumn(COLUMN, typeof(string), null, System.Data.MappingType.Element);
261 base.Columns.Add(this._columnFieldColumn);
262 this._columnFieldOrdinal = new System.Data.DataColumn(ORDINAL, typeof(int), null, System.Data.MappingType.Element);
263 base.Columns.Add(this._columnFieldOrdinal);
264 this._columnIsNullable = new System.Data.DataColumn(IS_NULLABLE, typeof(bool), null, System.Data.MappingType.Element);
265 base.Columns.Add(this._columnIsNullable);
266 this._columnDataType = new System.Data.DataColumn(DATA_TYPE, typeof(string), null, System.Data.MappingType.Element);
267 base.Columns.Add(this._columnDataType);
268 this._columnMaximumLength = new System.Data.DataColumn(MAX_LENGTH, typeof(int), null, System.Data.MappingType.Element);
269 base.Columns.Add(this._columnMaximumLength);
270 this._columnPrecision = new System.Data.DataColumn(PRECISION, typeof(int), null, System.Data.MappingType.Element);
271 base.Columns.Add(this._columnPrecision);
272 this._columnDateTimePrecision = new System.Data.DataColumn(DATETIMEPRECISION, typeof(int), null, System.Data.MappingType.Element);
273 base.Columns.Add(this._columnDateTimePrecision);
274 this._columnScale = new System.Data.DataColumn(SCALE, typeof(int), null, System.Data.MappingType.Element);
275 base.Columns.Add(this._columnScale);
276 this._columnIsIdentity = new System.Data.DataColumn(IS_IDENTITY, typeof(bool), null, System.Data.MappingType.Element);
277 base.Columns.Add(this._columnIsIdentity);
278 this._columnIsServerGenerated = new System.Data.DataColumn(IS_SERVERGENERATED, typeof(bool), null, System.Data.MappingType.Element);
279 base.Columns.Add(this._columnIsServerGenerated);
280 this._columnIsPrimaryKey = new System.Data.DataColumn(IS_PRIMARYKEY, typeof(bool), null, System.Data.MappingType.Element);
281 base.Columns.Add(this._columnIsPrimaryKey);
284 private void UpdateMemberFieldsAfterDeserialization()
286 this._columnCatalog = base.Columns[CATALOG];
287 this._columnSchema = base.Columns[SCHEMA];
288 this._columnTable = base.Columns[TABLE];
289 this._columnFieldColumn = base.Columns[COLUMN];
290 this._columnFieldOrdinal = base.Columns[ORDINAL];
291 this._columnIsNullable = base.Columns[IS_NULLABLE];
292 this._columnDataType = base.Columns[DATA_TYPE];
293 this._columnMaximumLength = base.Columns[MAX_LENGTH];
294 this._columnPrecision = base.Columns[PRECISION];
295 this._columnDateTimePrecision = base.Columns[DATETIMEPRECISION];
296 this._columnScale = base.Columns[SCALE];
297 this._columnIsIdentity = base.Columns[IS_IDENTITY];
298 this._columnIsServerGenerated = base.Columns[IS_SERVERGENERATED];
299 this._columnIsPrimaryKey = base.Columns[IS_PRIMARYKEY];
302 /// <summary>
303 /// Create a new row from a DataRowBuilder object.
304 /// </summary>
305 /// <param name="builder">The builder to create the row from.</param>
306 /// <returns>The row that was created.</returns>
307 protected override System.Data.DataRow NewRowFromBuilder(System.Data.DataRowBuilder builder)
309 return new TableDetailsRow(builder);
312 /// <summary>
313 /// Gets the Type that this row is.
314 /// </summary>
315 /// <returns>The type of this row.</returns>
316 protected override System.Type GetRowType()
318 return typeof(TableDetailsRow);