Changeset 2452 for trunk/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DatabaseService.cs
- Timestamp:
- 10/27/09 14:31:03 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DatabaseService.cs
r2451 r2452 160 160 161 161 public void PersistModel(IModel model) { 162 Model m = (Model)model; 163 //check if model has to be updated or inserted 164 if (ctx.Models.Any(x => x.Id == model.Id)) { 165 Model orginal = ctx.Models.GetOriginalEntityState(m); 166 if (orginal == null) 167 ctx.Models.Attach(m); 168 ctx.Refresh(RefreshMode.KeepCurrentValues, m); 169 } else 170 ctx.Models.InsertOnSubmit(m); 171 ctx.SubmitChanges(); 162 using (ModelingDataContext ctx = new ModelingDataContext(this.ConnectionString)) { 163 Model m = (Model)model; 164 //check if model has to be updated or inserted 165 if (ctx.Models.Any(x => x.Id == model.Id)) { 166 Model orginal = ctx.Models.GetOriginalEntityState(m); 167 if (orginal == null) 168 ctx.Models.Attach(m); 169 ctx.Refresh(RefreshMode.KeepCurrentValues, m); 170 } else 171 ctx.Models.InsertOnSubmit(m); 172 ctx.SubmitChanges(); 173 } 172 174 } 173 175 … … 225 227 226 228 public void PersistPredictor(IModel model, IPredictor predictor) { 227 Model m = (Model)model; 228 ctx.ModelData.DeleteAllOnSubmit(ctx.ModelData.Where(x => x.Model == m)); 229 ctx.ModelResults.DeleteAllOnSubmit(ctx.ModelResults.Where(x => x.Model == m)); 230 ctx.InputVariableResults.DeleteAllOnSubmit(ctx.InputVariableResults.Where(x => x.Model == m)); 231 ctx.InputVariables.DeleteAllOnSubmit(ctx.InputVariables.Where(x => x.Model == m)); 232 233 ctx.ModelData.InsertOnSubmit(new ModelData(m, PersistenceManager.SaveToGZip(predictor))); 234 foreach (string variableName in predictor.GetInputVariables()) 235 ctx.InputVariables.InsertOnSubmit(new InputVariable(m, (Variable)GetVariable(variableName))); 236 237 ctx.SubmitChanges(); 229 using (ModelingDataContext ctx = new ModelingDataContext(this.ConnectionString)) { 230 Model m = (Model)model; 231 ctx.ModelData.DeleteAllOnSubmit(ctx.ModelData.Where(x => x.Model == m)); 232 ctx.ModelResults.DeleteAllOnSubmit(ctx.ModelResults.Where(x => x.Model == m)); 233 ctx.InputVariableResults.DeleteAllOnSubmit(ctx.InputVariableResults.Where(x => x.Model == m)); 234 ctx.InputVariables.DeleteAllOnSubmit(ctx.InputVariables.Where(x => x.Model == m)); 235 236 ctx.ModelData.InsertOnSubmit(new ModelData(m, PersistenceManager.SaveToGZip(predictor))); 237 foreach (string variableName in predictor.GetInputVariables()) 238 ctx.InputVariables.InsertOnSubmit(new InputVariable(m, (Variable)GetVariable(variableName))); 239 240 ctx.SubmitChanges(); 241 } 238 242 } 239 243
Note: See TracChangeset
for help on using the changeset viewer.