Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/31/09 12:11:41 (15 years ago)
Author:
mkommend
Message:

first part of performance improvements (ticket #712)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DatabaseService.cs

    r2207 r2217  
    4545
    4646      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
    47         model = new Model(target, algo, PersistenceManager.SaveToGZip(algorithm.Model.Data));
     47        model = new Model(target, algo);
    4848        model.TrainingSamplesStart = trainingSamplesStart;
    4949        model.TrainingSamplesEnd = trainingSamplesEnd;
     
    5959
    6060      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
     61        ctx.ModelData.InsertOnSubmit(new ModelData(model, PersistenceManager.SaveToGZip(algorithm.Model.Data)));
     62      }
     63
     64      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
    6165        foreach (string inputVariable in algorithm.Model.InputVariables) {
    62           ctx.InputVariables.InsertOnSubmit(new InputVariable(model, variables[inputVariable]));         
     66          ctx.InputVariables.InsertOnSubmit(new InputVariable(model, variables[inputVariable]));
    6367        }
    6468        ctx.SubmitChanges();
     
    194198
    195199    public IEnumerable<IResult> GetAllResultsForInputVariables() {
    196       using(ModelingDataContext ctx = new ModelingDataContext(connection) ){
    197         return (from ir in ctx.InputVariableResults  select ir.Result).Distinct().ToList().Cast<IResult>();
     200      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
     201        return (from ir in ctx.InputVariableResults select ir.Result).Distinct().ToList().Cast<IResult>();
    198202      }
    199203    }
     
    205209      ModelingDataContext ctx = new ModelingDataContext(connection);
    206210      DataLoadOptions dlo = new DataLoadOptions();
    207       dlo.LoadWith<ModelResult>(mr => mr.Model);
    208211      dlo.LoadWith<ModelResult>(mr => mr.Result);
    209212      ctx.LoadOptions = dlo;
     
    214217      return results.ToList().Cast<IModelResult>();
    215218    }
     219
     220    public void GetAllModelResults() {
     221      ModelingDataContext ctx = new ModelingDataContext(connection);
     222      DataLoadOptions dlo = new DataLoadOptions();
     223      dlo.LoadWith<ModelResult>(mr => mr.Result);
     224      dlo.LoadWith<ModelResult>(mr => mr.Model);
     225      ctx.LoadOptions = dlo;
     226
     227      var results = from result in ctx.ModelResults
     228                    select result;
     229      results.ToList();     
     230
     231    }
    216232    #endregion
    217233
     
    221237      DataLoadOptions dlo = new DataLoadOptions();
    222238      dlo.LoadWith<InputVariableResult>(ir => ir.Variable);
    223       dlo.LoadWith<InputVariableResult>(ir => ir.Result);
    224       dlo.LoadWith<InputVariableResult>(ir => ir.Model);
     239      dlo.LoadWith<InputVariableResult>(ir => ir.Result);     
    225240      ctx.LoadOptions = dlo;
    226241
     
    241256      return ctx.Models.ToList().Cast<IModel>();
    242257    }
     258
     259    public byte[] GetModelData(IModel model) {
     260      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
     261        var data = (from md in ctx.ModelData
     262                    where md.Model == model
     263                    select md);
     264        if (data.Count() == 0)
     265          return null;
     266        return data.Single().Data;
     267      }
     268    }
    243269    #endregion
    244270
Note: See TracChangeset for help on using the changeset viewer.