Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/15/09 09:47:38 (15 years ago)
Author:
mkommend
Message:

stored model metadata into modeling.database
changed analyzermodel to use dictionary of string, object (ticket #731)

Location:
trunk/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2
Files:
2 added
3 edited

Legend:

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

    r2344 r2355  
    5656      DataLoadOptions dlo = new DataLoadOptions();
    5757      dlo.LoadWith<ModelResult>(mr => mr.Result);
     58      dlo.LoadWith<ModelMetaData>(mmd => mmd.MetaData);
    5859      dlo.LoadWith<InputVariableResult>(ir => ir.Variable);
    5960      dlo.LoadWith<InputVariableResult>(ir => ir.Result);
    6061      dlo.LoadWith<Model>(m => m.TargetVariable);
    61       dlo.LoadWith<Model>(m => m.Algorithm);
     62      dlo.LoadWith<Model>(m => m.Algorithm);     
    6263      ctx.LoadOptions = dlo;
    6364    }
     
    117118
    118119      // code to store meta-information for models (gkronber (8.9.09))
    119       //using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
    120       //  foreach (KeyValuePair<string, double> pair in model.MetaData) {
    121       //    MetaData metaData = GetOrCreateMetaData(pair.Key);
    122       //    ctx.ModelMetaData.InsertOnSubmit(new ModelMetaData(m, metaData, pair.Value));
    123       //  }
    124       //  ctx.SubmitChanges();
    125       //}
     120      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
     121        foreach (KeyValuePair<string, double> pair in model.MetaData) {
     122          MetaData metaData = GetOrCreateMetaData(pair.Key);
     123          ctx.ModelMetaData.InsertOnSubmit(new ModelMetaData(m, metaData, pair.Value));
     124        }
     125        ctx.SubmitChanges();
     126      }
    126127
    127128      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
     
    267268    #endregion
    268269
     270    #region ModelMetaData
     271    public IEnumerable<IModelMetaData> GetModelMetaData(IModel model) {
     272      var metadata = from md in ctx.ModelMetaData
     273                     where md.Model == model
     274                     select md;
     275      return metadata.ToList().Cast<IModelMetaData>();
     276    }
     277    #endregion
     278
     279    #region MetaData
     280    public IEnumerable<IMetaData> GetAllMetaData() {
     281      return ctx.MetaData.ToList().Cast<IMetaData>();
     282    }
     283
     284    public MetaData GetOrCreateMetaData(string name) {
     285      MetaData metadata;
     286      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
     287        var md = from r in ctx.MetaData
     288                      where r.Name == name
     289                      select r;
     290        if (md.Count() == 0) {
     291          metadata = new MetaData(name);
     292          ctx.MetaData.InsertOnSubmit(metadata);
     293          ctx.SubmitChanges();
     294        } else if (md.Count() == 1)
     295          metadata = md.Single();
     296        else
     297          throw new ArgumentException("Could not get metadata. More than one metadata with the name " + name + " are saved in database.");
     298      }
     299      return metadata;
     300    }
     301
     302    #endregion
     303
    269304    #region Model
    270305    public IEnumerable<IModel> GetAllModels() {
  • trunk/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj

    r2223 r2355  
    121121    <Compile Include="DataObjects\InputVariable.cs" />
    122122    <Compile Include="DataObjects\InputVariableResult.cs" />
     123    <Compile Include="DataObjects\MetaData.cs" />
    123124    <Compile Include="DataObjects\Model.cs" />
    124125    <Compile Include="DataObjects\ModelData.cs" />
     126    <Compile Include="DataObjects\ModelMetaData.cs" />
    125127    <Compile Include="HeuristicLabModelingDatabaseSQLServerCompactPlugin.cs" />
    126128    <Compile Include="ModelingDataContext.cs" />
  • trunk/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/ModelingDataContext.cs

    r2229 r2355  
    6666    }
    6767
     68    public Table<ModelMetaData> ModelMetaData {
     69      get { return GetTable<ModelMetaData>(); }
     70    }
     71
     72    public Table<MetaData> MetaData {
     73      get { return GetTable<MetaData>(); }
     74    }
     75
    6876    public Table<InputVariable> InputVariables {
    6977      get { return GetTable<InputVariable>(); }
Note: See TracChangeset for help on using the changeset viewer.