public void Load(ObjectProperties ObjectProperties) { if (_dataTable != null) { _dataTable.Fill(string.Format("TABLE_NAME = '{0}' AND OBJID = {1}", ObjectProperties.tableContext.XOTable.Source, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName))); foreach (var r in _dataTable.Rows.Cast<System.Data.DataRow>() .Select(p => new { state = p.Field<string>("STATE"), fields = p.Field<string>("COLS").Split(',') })) { foreach (string field in r.fields) { ObjectProperties.SetState(field, r.state); } } _dataTable.Clear(); } }