Oracle DataTable and PrimaryKey
Posted: Mon 11 Apr 2011 20:21
The DevArt DataSet Desingner does not generates a PrimaryKey of the datatables. Instead is adds a unique constraint.
This causes that the merge method does not work, because this is based on the primaryKey property.
I am using version 5.20.33.0
This is the generated code of the InitClass():
.....
this.columnIdProvincia = new System.Data.DataColumn("IdProvincia", typeof(int), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnIdProvincia);
this.columnNombre = new System.Data.DataColumn("Nombre", typeof(string), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnNombre);
this.columnNemonico = new System.Data.DataColumn("Nemonico", typeof(string), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnNemonico);
this.columnNombreMEG = new System.Data.DataColumn("NombreMEG", typeof(string), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnNombreMEG);
this.Constraints.Add(new System.Data.UniqueConstraint("Constraint1", new System.Data.DataColumn[] {
this.columnIdProvincia}, false)); <-----Here it should be true, because it is a Primary Key
this.columnIdProvincia.AllowDBNull = false;
this.columnIdProvincia.Unique = true;
.......
This causes that the merge method does not work, because this is based on the primaryKey property.
I am using version 5.20.33.0
This is the generated code of the InitClass():
.....
this.columnIdProvincia = new System.Data.DataColumn("IdProvincia", typeof(int), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnIdProvincia);
this.columnNombre = new System.Data.DataColumn("Nombre", typeof(string), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnNombre);
this.columnNemonico = new System.Data.DataColumn("Nemonico", typeof(string), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnNemonico);
this.columnNombreMEG = new System.Data.DataColumn("NombreMEG", typeof(string), null, System.Data.MappingType.Element);
base.Columns.Add(this.columnNombreMEG);
this.Constraints.Add(new System.Data.UniqueConstraint("Constraint1", new System.Data.DataColumn[] {
this.columnIdProvincia}, false)); <-----Here it should be true, because it is a Primary Key
this.columnIdProvincia.AllowDBNull = false;
this.columnIdProvincia.Unique = true;
.......