Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/Console.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/Console.cs	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/Console.cs	(revision 2194)
@@ -30,5 +30,5 @@
 using HeuristicLab.CEDMA.DB.Interfaces;
 using HeuristicLab.PluginInfrastructure;
-using HeuristicLab.Modeling.SQLServerCompactBackend;
+using HeuristicLab.Modeling.Database.SQLServerCompact;
 
 namespace HeuristicLab.CEDMA.Core {
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/HeuristicLab.CEDMA.Core-3.3.csproj
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/HeuristicLab.CEDMA.Core-3.3.csproj	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/HeuristicLab.CEDMA.Core-3.3.csproj	(revision 2194)
@@ -124,7 +124,11 @@
       <Name>HeuristicLab.Data-3.2</Name>
     </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Modeling.SQLServerCompactBackend\3.2\HeuristicLab.Modeling.SQLServerCompactBackend-3.2.csproj">
-      <Project>{9B4F7D05-CCE1-45BB-81D1-5D4925851901}</Project>
-      <Name>HeuristicLab.Modeling.SQLServerCompactBackend-3.2</Name>
+    <ProjectReference Include="..\..\HeuristicLab.Modeling.Database.SQLServerCompact\3.2\HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj">
+      <Project>{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}</Project>
+      <Name>HeuristicLab.Modeling.Database.SQLServerCompact-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Modeling.Database\3.2\HeuristicLab.Modeling.Database-3.2.csproj">
+      <Project>{E84E5717-79F8-498F-A5E0-A055C4EC086B}</Project>
+      <Name>HeuristicLab.Modeling.Database-3.2</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Operators\3.2\HeuristicLab.Operators-3.2.csproj">
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/Results.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/Results.cs	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Core/3.3/Results.cs	(revision 2194)
@@ -34,4 +34,5 @@
 using HeuristicLab.DataAnalysis;
 using System.Drawing;
+using HeuristicLab.Modeling.Database;
 
 namespace HeuristicLab.CEDMA.Core {
@@ -156,5 +157,5 @@
 
     private void LoadModelAttributes() {
-      ordinalVariables = database.GetAllResults().Select(r => r.Name);
+      ordinalVariables = database.GetAllResults().Select(r => r.Name).ToArray();
       categoricalVariables = new string[] { "TargetVariable" };
     }
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Server/3.3/HeuristicLab.CEDMA.Server-3.3.csproj
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Server/3.3/HeuristicLab.CEDMA.Server-3.3.csproj	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Server/3.3/HeuristicLab.CEDMA.Server-3.3.csproj	(revision 2194)
@@ -159,8 +159,4 @@
       <Name>HeuristicLab.Grid-3.2</Name>
     </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Modeling.SQLServerCompactBackend\3.2\HeuristicLab.Modeling.SQLServerCompactBackend-3.2.csproj">
-      <Project>{9B4F7D05-CCE1-45BB-81D1-5D4925851901}</Project>
-      <Name>HeuristicLab.Modeling.SQLServerCompactBackend-3.2</Name>
-    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Modeling\3.2\HeuristicLab.Modeling-3.2.csproj">
       <Project>{80F7FADA-549D-4151-8856-79B620A50DBA}</Project>
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Server/3.3/Server.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Server/3.3/Server.cs	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.CEDMA.Server/3.3/Server.cs	(revision 2194)
@@ -33,5 +33,6 @@
 using HeuristicLab.Grid.HiveBridge;
 using HeuristicLab.Core;
-using HeuristicLab.Modeling.SQLServerCompactBackend;
+using HeuristicLab.Modeling.Database;
+using HeuristicLab.Modeling.Database.SqlServerCompact;
 
 namespace HeuristicLab.CEDMA.Server {
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Algorithm.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Algorithm.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Algorithm.cs	(revision 2194)
@@ -0,0 +1,45 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "Algorithm")]
+  public class Algorithm : IAlgorithm  {
+    public Algorithm() {
+    }
+
+    public Algorithm(string name)
+      : this() {
+      this.name = name;
+    }
+
+    public Algorithm(string name, string description)
+      : this(name) {
+      this.description = description;
+    }
+
+    private int id;
+    [Column(Storage = "id", IsPrimaryKey = true, IsDbGenerated = true)]
+    public int Id {
+      get { return this.id; }
+      private set { this.id = value; }
+    }
+
+    private string name;
+    [Column(Storage = "name", CanBeNull = false)]
+    public string Name {
+      get { return this.name; }
+      set { this.name = value; }
+    }
+
+    private string description;
+    [Column(Storage = "description", CanBeNull = true)]
+    public string Description {
+      get { return this.description; }
+      set { this.description = value; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/InputVariable.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/InputVariable.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/InputVariable.cs	(revision 2194)
@@ -0,0 +1,59 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "InputVariable")]
+  public class InputVariable : IInputVariable {
+    public InputVariable() {
+      this.model = default(EntityRef<Model>);
+      this.variable = default(EntityRef<Variable>);
+    }
+
+    public InputVariable(Model model, Variable variable)
+      : base() {
+      this.model.Entity = model;
+      this.variable.Entity = variable;
+    }
+
+    private int variableId;
+    [Column(Storage = "variableId", IsPrimaryKey = true)]
+    public int VariableId {
+      get { return this.variableId; }
+      private set {
+        if (variableId != value) {
+          if (variable.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          variableId = value;          
+        }
+      }
+    }
+
+    private EntityRef<Variable> variable;
+    [Association(Storage = "variable", ThisKey = "VariableId", OtherKey = "Id", IsForeignKey = true)]
+    public IVariable Variable {
+      get { return variable.Entity; }
+    }
+
+    private int modelId;
+    [Column(Storage = "modelId", IsPrimaryKey = true)]
+    public int ModelId {
+      get { return this.modelId; }
+      private set {
+        if (modelId != value) {
+          if (model.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          modelId = value;
+        }
+      }
+    }
+
+    private EntityRef<Model> model;
+    [Association(Storage = "model", ThisKey = "ModelId", OtherKey = "Id", IsForeignKey = true)]
+    public IModel Model {
+      get { return model.Entity; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/InputVariableResult.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/InputVariableResult.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/InputVariableResult.cs	(revision 2194)
@@ -0,0 +1,88 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name="InputVariableResult")]
+  public class InputVariableResult : IInputVariableResult {
+    public InputVariableResult() {
+      this.model = default(EntityRef<Model>);
+      this.variable = default(EntityRef<Variable>);
+      this.result = default(EntityRef<Result>);
+    }
+
+    public InputVariableResult(InputVariable inputVariable, Result result, double value)
+      : this() {
+      this.variable.Entity = (Variable)inputVariable.Variable;
+      this.model.Entity = (Model)inputVariable.Model;
+      this.result.Entity = result;
+      this.value = value;
+    }
+
+    private int variableId;
+    [Column(Storage = "variableId", IsPrimaryKey = true)]
+    public int VariableId {
+      get { return this.variableId; }
+      private set {
+        if (variableId != value) {
+          if (variable.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          variableId = value;
+        }
+      }
+    }
+
+    private EntityRef<Variable> variable;
+    [Association(Storage = "variable", ThisKey = "VariableId", OtherKey = "Id", IsForeignKey = true)]
+    public IVariable Variable {
+      get { return variable.Entity; }
+    }
+
+    private int modelId;
+    [Column(Storage = "modelId", IsPrimaryKey = true)]
+    public int ModelId {
+      get { return this.modelId; }
+      private set {
+        if (modelId != value) {
+          if (model.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          modelId = value;
+        }
+      }
+    }
+
+    private EntityRef<Model> model;
+    [Association(Storage = "model", ThisKey = "ModelId", OtherKey = "Id", IsForeignKey = true)]
+    public IModel Model {
+      get { return model.Entity; }
+    }
+
+    private int resultId;
+    [Column(Storage = "resultId", IsPrimaryKey = true)]
+    public int ResultId {
+      get { return this.resultId; }
+      private set {
+        if (resultId != value) {
+          if (result.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          resultId = value;
+        }
+      }
+    }
+
+    private EntityRef<Result> result;
+    [Association(Storage = "result", ThisKey = "ResultId", OtherKey = "Id", IsForeignKey = true)]
+    public IResult Result {
+      get { return result.Entity; }
+    }
+
+    private double value;
+    [Column(Storage = "value", CanBeNull = false)]
+    public double Value {
+      get { return this.value; }
+      set { this.value = value; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Model.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Model.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Model.cs	(revision 2194)
@@ -0,0 +1,141 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "Model")]
+  public class Model : IModel{
+    public Model() {
+      targetVariable = default(EntityRef<Variable>);
+      algorithm = default(EntityRef<Algorithm>);
+    }
+
+    public Model(Variable targetVariable, Algorithm algorithm, byte[] data)
+      : this() {
+      this.TargetVariable = targetVariable;
+      this.Algorithm = algorithm;
+      this.Data = data;
+    }
+
+    private int id;
+    [Column(Storage = "id", IsPrimaryKey = true, IsDbGenerated = true)]
+    public int Id {
+      get { return this.id; }
+      private set { this.id = value; }
+    }
+
+    private byte[] data;
+    [Column(Storage = "model", DbType = "image", CanBeNull = false)]
+    public byte[] Data {
+      get { return this.data; }
+      set { this.data = value; }
+    }
+
+    private int algorithmId;
+    [Column(Storage = "algorithmId", CanBeNull = false)]
+    public int AlgorithmId {
+      get { return this.algorithmId; }
+      private set {
+        if (algorithmId != value) {
+          if (algorithm.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          algorithmId = value;
+        }
+      }
+    }
+
+    private EntityRef<Algorithm> algorithm;
+    [Association(Storage = "algorithm", ThisKey = "AlgorithmId", OtherKey = "Id", IsForeignKey = true)]
+    public IAlgorithm Algorithm {
+      get { return this.algorithm.Entity; }
+      private set {
+        Algorithm previousValue = algorithm.Entity;
+        if (previousValue != value || (!algorithm.HasLoadedOrAssignedValue)) {
+          if (previousValue != null) {
+            algorithm.Entity = null;
+          }
+          algorithm.Entity = (Algorithm)value;
+          if (value != null) {
+            algorithmId = ((Algorithm)value).Id;
+          }
+        }
+      }
+    }
+
+    private int targetVariableId;
+    [Column(Storage = "targetVariableId", CanBeNull = false)]
+    public int TargetVariableId {
+      get { return this.targetVariableId; }
+      private set {
+        if (targetVariableId != value) {
+          if (targetVariable.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+          targetVariableId = value;
+        }
+      }
+    }
+
+    private EntityRef<Variable> targetVariable;
+    [Association(Storage = "targetVariable", ThisKey = "TargetVariableId", OtherKey = "Id", IsForeignKey = true)]
+    public IVariable TargetVariable {
+      get { return this.targetVariable.Entity; }
+      private set {
+        Variable previousValue = targetVariable.Entity;
+        if (previousValue != value || (!targetVariable.HasLoadedOrAssignedValue)) {
+          if (previousValue != null) {
+            targetVariable.Entity = null;
+          }
+          targetVariable.Entity = (Variable)value;
+          if (value != null) {
+            targetVariableId = ((Variable)value).Id;
+          } 
+        }
+      }
+    }
+
+    private int trainingSamplesStart;
+    [Column(Storage = "trainingSamplesStart", CanBeNull = false)]
+    public int TrainingSamplesStart {
+      get { return this.trainingSamplesStart; }
+      set { this.trainingSamplesStart = value; }
+    }
+
+    private int trainingSamplesEnd;
+    [Column(Storage = "trainingSamplesEnd", CanBeNull = false)]
+    public int TrainingSamplesEnd {
+      get { return this.trainingSamplesEnd; }
+      set { this.trainingSamplesEnd = value; }
+    }
+
+    private int validationSamplesStart;
+    [Column(Storage = "validationSamplesStart", CanBeNull = false)]
+    public int ValidationSamplesStart {
+      get { return this.validationSamplesStart; }
+      set { this.validationSamplesStart = value; }
+    }
+
+    private int validationSamplesEnd;
+    [Column(Storage = "validationSamplesEnd", CanBeNull = false)]
+    public int ValidationSamplesEnd {
+      get { return this.validationSamplesEnd; }
+      set { this.validationSamplesEnd = value; }
+    }
+
+    private int testSamplesStart;
+    [Column(Storage = "testSamplesStart", CanBeNull = false)]
+    public int TestSamplesStart {
+      get { return this.testSamplesStart; }
+      set { this.testSamplesStart = value; }
+    }
+
+    private int testSamplesEnd;
+    [Column(Storage = "testSamplesEnd", CanBeNull = false)]
+    public int TestSamplesEnd {
+      get { return this.testSamplesEnd; }
+      set { this.testSamplesEnd = value; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/ModelResult.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/ModelResult.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/ModelResult.cs	(revision 2194)
@@ -0,0 +1,92 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "ModelResult")]
+  public class ModelResult {
+    public ModelResult() {
+      this.model = default(EntityRef<Model>);
+      this.result = default(EntityRef<Result>);
+    }
+
+    public ModelResult(Model model, Result result, double value)
+      : this() {
+      this.Model = model;
+      this.Result = result;
+      this.value = value;
+    }
+
+    private double value;
+    [Column(Storage = "value", CanBeNull = false)]
+    public double Value {
+      get { return this.value; }
+      set { this.value = value; }
+    }
+
+    private int modelId;
+    [Column(Storage = "modelId", CanBeNull = false)]
+    public int ModelId {
+      get { return this.modelId; }
+      private set {
+        if (modelId != value) {
+          if (model.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+        }
+        modelId = value;
+      }
+    }
+
+    private EntityRef<Model> model;
+    [Association(Storage = "model", ThisKey = "ModelId", OtherKey = "Id", IsForeignKey = true)]
+    public Model Model {
+      get { return this.model.Entity; }
+      set {
+        Model previousValue = model.Entity;
+        if (previousValue != value || (!model.HasLoadedOrAssignedValue)) {
+          if (previousValue != null) {
+            model.Entity = null;
+          }
+          model.Entity = value;
+          if (value != null) {
+            modelId = value.Id;
+          } 
+        }
+      }
+    }
+
+    private int resultId;
+    [Column(Storage = "resultId", CanBeNull = false)]
+    public int ResultId {
+      get { return this.resultId; }
+      private set {
+        if (resultId != value) {
+          if (result.HasLoadedOrAssignedValue)
+            throw new ForeignKeyReferenceAlreadyHasValueException();
+        }
+        modelId = value;
+      }
+    }
+
+    private EntityRef<Result> result;
+    [Association(Storage = "result", ThisKey = "ResultId", OtherKey = "Id", IsForeignKey = true)]
+    public Result Result {
+      get { return this.result.Entity; }
+      set {
+        Result previousValue = result.Entity;
+        if (previousValue != value || (!model.HasLoadedOrAssignedValue)) {
+          if (previousValue != null) {
+            result.Entity = null;
+          }
+          result.Entity = value;
+          if (value != null) {
+            resultId = value.Id;
+          }
+        }
+      }
+    }
+
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Problem.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Problem.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Problem.cs	(revision 2194)
@@ -0,0 +1,34 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+using HeuristicLab.DataAnalysis;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "Problem")]
+  public class Problem {
+    public Problem() {
+    }
+
+    public Problem(Dataset dataset)
+      : this() {
+      this.dataset = dataset;
+    }
+
+    private int id;
+    [Column(Storage = "id", IsPrimaryKey = true, IsDbGenerated = true)]
+    public int Id {
+      get { return this.id; }
+      private set { this.id = value; }
+    }
+
+    private Dataset dataset;
+    [Column(Storage = "dataset", DbType = "image", CanBeNull = false)]
+    public Dataset Dataset {
+      get { return this.dataset; }
+      private set { this.dataset = value; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Result.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Result.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Result.cs	(revision 2194)
@@ -0,0 +1,33 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "Result")]
+  public class Result : IResult {
+    public Result() {
+    }
+
+    public Result(string name)
+      : this() {
+      this.name = name;
+    }
+
+    private int id;
+    [Column(Storage = "id", IsPrimaryKey = true, IsDbGenerated = true)]
+    public int Id {
+      get { return this.id; }
+      private set { this.id = value; }
+    }
+
+    private string name;
+    [Column(Storage = "name", CanBeNull = false)]
+    public string Name {
+      get { return this.name; }
+      private set { this.name = value; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Variable.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Variable.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/Variable.cs	(revision 2194)
@@ -0,0 +1,33 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  [Table(Name = "Variable")]
+  public class Variable : IVariable{
+    public Variable() {
+    }
+
+    public Variable(string name)
+      : this() {
+      this.name = name;
+    }
+
+    private int id;
+    [Column(Storage = "id", IsPrimaryKey = true, IsDbGenerated = true)]
+    public int Id {
+      get { return this.id; }
+      private set { this.id = value; }
+    }
+
+    private string name;
+    [Column(Storage = "name", CanBeNull = false)]
+    public string Name {
+      get { return this.name; }
+      private set { this.name = value; }
+    }
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DatabaseService.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DatabaseService.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DatabaseService.cs	(revision 2194)
@@ -0,0 +1,213 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Reflection;
+
+using HeuristicLab.Core;
+using HeuristicLab.DataAnalysis;
+using HeuristicLab.GP.StructureIdentification;
+using HeuristicLab.Data;
+using System.Data.Linq;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  public class DatabaseService : IModelingDatabase {
+
+    private readonly string connection;
+    public DatabaseService(string connection) {
+      this.connection = connection;
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        if (!ctx.DatabaseExists())
+          ctx.CreateDatabase();
+      }
+    }
+
+    private void EmptyDatabase() {
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        ctx.DeleteDatabase();
+        ctx.CreateDatabase();
+      }
+    }
+
+    public void Persist(HeuristicLab.Modeling.IAlgorithm algorithm) {
+      int trainingSamplesStart = ((IntData)algorithm.Engine.GlobalScope.GetVariableValue("TrainingSamplesStart", false)).Data;
+      int trainingSamplesEnd = ((IntData)algorithm.Engine.GlobalScope.GetVariableValue("TrainingSamplesEnd", false)).Data;
+      int validationSamplesStart = ((IntData)algorithm.Engine.GlobalScope.GetVariableValue("ValidationSamplesStart", false)).Data;
+      int validationSamplesEnd = ((IntData)algorithm.Engine.GlobalScope.GetVariableValue("ValidationSamplesEnd", false)).Data;
+      int testSamplesStart = ((IntData)algorithm.Engine.GlobalScope.GetVariableValue("TestSamplesStart", false)).Data;
+      int testSamplesEnd = ((IntData)algorithm.Engine.GlobalScope.GetVariableValue("TestSamplesEnd", false)).Data;
+
+      GetOrCreateProblem(algorithm.Dataset);
+      Dictionary<string, Variable> variables = GetAllVariables();
+      Algorithm algo = GetOrCreateAlgorithm(algorithm.Name, algorithm.Description);
+      Variable target = variables[algorithm.Model.TargetVariable];
+      Model model;
+
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        model = new Model(target, algo, PersistenceManager.SaveToGZip(algorithm.Model.Data));
+        model.TrainingSamplesStart = trainingSamplesStart;
+        model.TrainingSamplesEnd = trainingSamplesEnd;
+        model.ValidationSamplesStart = validationSamplesStart;
+        model.ValidationSamplesEnd = validationSamplesEnd;
+        model.TestSamplesStart = testSamplesStart;
+        model.TestSamplesEnd = testSamplesEnd;
+
+        ctx.Models.InsertOnSubmit(model);
+        foreach (string inputVariable in algorithm.Model.InputVariables) {
+          ctx.InputVariables.InsertOnSubmit(new InputVariable(model, variables[inputVariable]));
+        }
+        ctx.SubmitChanges();
+      }
+
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        //get all double properties to save as modelResult
+        IEnumerable<PropertyInfo> modelResultInfos = algorithm.Model.GetType().GetProperties().Where(
+          info => info.PropertyType == typeof(double));
+        foreach (PropertyInfo modelResultInfo in modelResultInfos) {
+          Result result = GetOrCreateResult(modelResultInfo.Name);
+          double value = (double)modelResultInfo.GetValue(algorithm.Model, null);
+          ctx.ModelResults.InsertOnSubmit(new ModelResult(model, result, value));
+        }
+
+        IEnumerable<MethodInfo> inputVariableResultInfos = algorithm.Model.GetType().GetMethods().Where(
+          info => info.GetParameters().Count() == 1 &&
+             info.GetParameters()[0].ParameterType == typeof(string) &&
+             info.GetParameters()[0].Name == "variableName" &&
+             info.ReturnParameter.ParameterType == typeof(double) &&
+             info.Name.StartsWith("Get"));
+        foreach (MethodInfo inputVariableResultInfo in inputVariableResultInfos) {
+          Result result = GetOrCreateResult(inputVariableResultInfo.Name.Substring(3));
+          foreach (InputVariable variable in ctx.InputVariables.Where(iv => iv.Model == model)) {
+            double value = (double)inputVariableResultInfo.Invoke(algorithm.Model, new object[] { variable.Variable.Name });
+            ctx.InputVariableResults.InsertOnSubmit(new InputVariableResult(variable, result, value));
+          }
+        }
+        ctx.SubmitChanges();
+      }
+
+    }
+
+    #region Problem
+
+    public Dataset GetDataset() {
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        if (ctx.Problems.Count() != 1)
+          throw new InvalidOperationException("Could not get dataset. No or more than one problems are persisted in the database.");
+
+        Problem problem = ctx.Problems.ElementAt(0);
+        return problem.Dataset;
+      }
+    }
+
+    public Problem GetOrCreateProblem(Dataset dataset) {
+      Problem problem;
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        if (ctx.Problems.Count() == 0)
+          problem = PersistProblem(dataset);
+        else
+          problem = ctx.Problems.Single();
+        if (problem.Dataset.ToString() != dataset.ToString())
+          throw new InvalidOperationException("Could not persist dataset. The database already contains a different dataset.");
+      }
+      return problem;
+    }
+
+    private Problem PersistProblem(Dataset dataset) {
+      Problem problem;
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        if (ctx.Problems.Count() != 0)
+          throw new InvalidOperationException("Could not persist dataset. A dataset is already saved in the database.");
+        problem = new Problem(dataset);
+        ctx.Problems.InsertOnSubmit(problem);
+        foreach (string variable in dataset.VariableNames) {
+          ctx.Variables.InsertOnSubmit(new Variable(variable));
+        }
+        ctx.SubmitChanges();
+      }
+      return problem;
+    }
+
+    #endregion
+
+    #region Algorithm
+    public Algorithm GetOrCreateAlgorithm(string name, string description) {
+      Algorithm algorithm;
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        var algorithms = from algo in ctx.Algorithms
+                         where algo.Name == name && algo.Description == description
+                         select algo;
+        if (algorithms.Count() == 0) {
+          algorithm = new Algorithm(name, description);
+          ctx.Algorithms.InsertOnSubmit(algorithm);
+          ctx.SubmitChanges();
+        } else if (algorithms.Count() == 1)
+          algorithm = algorithms.Single();
+        else
+          throw new ArgumentException("Could not get Algorithm. More than one algorithm with the name " + name + " are saved in database.");
+      }
+      return algorithm;
+    }
+    #endregion
+
+    #region Variables
+    public Dictionary<string, Variable> GetAllVariables() {
+      Dictionary<string, Variable> dict = new Dictionary<string, Variable>();
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        dict = ctx.Variables.ToDictionary<Variable, string>(delegate(Variable v) { return v.Name; });
+      }
+      return dict;
+    }
+    #endregion
+
+    #region Result
+    public Result GetOrCreateResult(string name) {
+      Result result;
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        var results = from r in ctx.Results
+                      where r.Name == name
+                      select r;
+        if (results.Count() == 0) {
+          result = new Result(name);
+          ctx.Results.InsertOnSubmit(result);
+          ctx.SubmitChanges();
+        } else if (results.Count() == 1)
+          result = results.Single();
+        else
+          throw new ArgumentException("Could not get result. More than one result with the name " + name + " are saved in database.");
+      }
+      return result;
+    }
+
+    public IEnumerable<IResult> GetAllResults() {
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        return ctx.Results.AsEnumerable().Cast<IResult>();
+      }
+    }
+
+    #endregion
+
+    #region ModelResult
+    public IEnumerable<IModelResult> GetModelResults(IModel model) {
+      ModelingDataContext ctx = new ModelingDataContext(connection);
+      DataLoadOptions dlo = new DataLoadOptions();
+      dlo.LoadWith<ModelResult>(mr => mr.Model);
+      dlo.LoadWith<ModelResult>(mr => mr.Result);
+      ctx.LoadOptions = dlo;
+
+      var results = from result in ctx.ModelResults
+                    where result.Model == model
+                    select result;
+      return results.AsEnumerable().Cast<IModelResult>();
+    }
+    #endregion
+
+    #region Model
+    public IEnumerable<IModel> GetAllModels() {
+      using (ModelingDataContext ctx = new ModelingDataContext(connection)) {
+        return ctx.Models.AsEnumerable().Cast<IModel>();
+      }
+    }
+    #endregion
+
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj	(revision 2194)
@@ -0,0 +1,147 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Modeling.Database.SQLServerCompact</RootNamespace>
+    <AssemblyName>HeuristicLab.Modeling.Database.SQLServerCompact-3.2</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Core\3.2\HeuristicLab.Core-3.2.csproj">
+      <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
+      <Name>HeuristicLab.Core-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.DataAnalysis\3.2\HeuristicLab.DataAnalysis-3.2.csproj">
+      <Project>{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}</Project>
+      <Name>HeuristicLab.DataAnalysis-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Data\3.2\HeuristicLab.Data-3.2.csproj">
+      <Project>{F473D9AF-3F09-4296-9F28-3C65118DAFFA}</Project>
+      <Name>HeuristicLab.Data-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.GP.StructureIdentification\3.3\HeuristicLab.GP.StructureIdentification-3.3.csproj">
+      <Project>{74223A32-C726-4978-BE78-37113A18373C}</Project>
+      <Name>HeuristicLab.GP.StructureIdentification-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Modeling.Database\3.2\HeuristicLab.Modeling.Database-3.2.csproj">
+      <Project>{E84E5717-79F8-498F-A5E0-A055C4EC086B}</Project>
+      <Name>HeuristicLab.Modeling.Database-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Modeling\3.2\HeuristicLab.Modeling-3.2.csproj">
+      <Project>{80F7FADA-549D-4151-8856-79B620A50DBA}</Project>
+      <Name>HeuristicLab.Modeling-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
+      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
+      <Name>HeuristicLab.PluginInfrastructure</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="DatabaseService.cs" />
+    <Compile Include="DataObjects\Algorithm.cs" />
+    <Compile Include="DataObjects\InputVariable.cs" />
+    <Compile Include="DataObjects\InputVariableResult.cs" />
+    <Compile Include="DataObjects\Model.cs" />
+    <Compile Include="ModelingDataContext.cs" />
+    <Compile Include="DataObjects\ModelResult.cs" />
+    <Compile Include="DataObjects\Problem.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="DataObjects\Result.cs" />
+    <Compile Include="DataObjects\Variable.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/ModelingDataContext.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/ModelingDataContext.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/ModelingDataContext.cs	(revision 2194)
@@ -0,0 +1,48 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Data.Linq;
+using System.Data.Linq.Mapping;
+using System.Data.Sql;
+using System.Text;
+
+namespace HeuristicLab.Modeling.Database.SQLServerCompact {
+  public class ModelingDataContext : DataContext{
+    public ModelingDataContext(string connection)
+      : base(connection) {
+    }
+
+    #region Tables
+    public Table<Algorithm> Algorithms {
+      get { return GetTable<Algorithm>(); }
+    }
+
+    public Table<Variable> Variables {
+      get { return GetTable<Variable>(); }
+    }
+
+    public Table<Problem> Problems {
+      get { return GetTable<Problem>(); }
+    }
+
+    public Table<Result> Results {
+      get { return GetTable<Result>(); }
+    }
+
+    public Table<Model> Models {
+      get { return GetTable<Model>(); }
+    }
+
+    public Table<InputVariableResult> InputVariableResults {
+      get { return GetTable<InputVariableResult>(); }
+    }
+
+    public Table<ModelResult> ModelResults {
+      get { return GetTable<ModelResult>(); }
+    }
+
+    public Table<InputVariable> InputVariables {
+      get { return GetTable<InputVariable>(); }
+    }
+    #endregion
+  }
+}
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/Properties/AssemblyInfo.frame
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/Properties/AssemblyInfo.frame	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/Properties/AssemblyInfo.frame	(revision 2194)
@@ -0,0 +1,58 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Modeling.SQLServerCompactBackend")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("863021a4-3cde-48be-8af6-dac1077f5fb5")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("3.2.0.$WCREV$")]
+[assembly: AssemblyFileVersion("3.2.0.$WCREV$")]
+[assembly: AssemblyBuildDate("$WCNOW$")]
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/HeuristicLab.Modeling.Database-3.2.csproj
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/HeuristicLab.Modeling.Database-3.2.csproj	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/HeuristicLab.Modeling.Database-3.2.csproj	(revision 2194)
@@ -97,4 +97,8 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Modeling\3.2\HeuristicLab.Modeling-3.2.csproj">
+      <Project>{80F7FADA-549D-4151-8856-79B620A50DBA}</Project>
+      <Name>HeuristicLab.Modeling-3.2</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IInputVariable.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IInputVariable.cs	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IInputVariable.cs	(revision 2194)
@@ -28,5 +28,5 @@
   public interface IInputVariable {
     IModel Model { get; }
-    IVariable Variable { get; }
+    IVariable Variable { get; }  
   }
 }
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IModel.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IModel.cs	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IModel.cs	(revision 2194)
@@ -30,10 +30,10 @@
     IAlgorithm Algorithm { get; }
     byte[] Data { get; }
-    int TrainingStart { get; }
-    int TrainingEnd { get; }
-    int ValidationStart { get; }
-    int ValidationEnd { get; }
-    int TestStart { get; }
-    int TestEnd { get; }
+    int TrainingSamplesStart { get; }
+    int TrainingSamplesEnd { get; }
+    int ValidationSamplesStart { get; }
+    int ValidationSamplesEnd { get; }
+    int TestSamplesStart { get; }
+    int TestSamplesEnd { get; }
   }
 }
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IModelingDatabase.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IModelingDatabase.cs	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database/3.2/IModelingDatabase.cs	(revision 2194)
@@ -27,5 +27,5 @@
 namespace HeuristicLab.Modeling.Database {
   public interface IModelingDatabase {
-    void Persist(IAlgorithm algorithm);
+    void Persist(HeuristicLab.Modeling.IAlgorithm algorithm);
     IEnumerable<IModel> GetAllModels();
     IEnumerable<IResult> GetAllResults();
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.SQLServerCompact/3.2/Properties/AssemblyInfo.cs
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.SQLServerCompact/3.2/Properties/AssemblyInfo.cs	(revision 2194)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.SQLServerCompact/3.2/Properties/AssemblyInfo.cs	(revision 2194)
@@ -0,0 +1,38 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.SQLServerCompact")]
+[assembly: AssemblyDescription("Provides an interface to create and access local SQLServer Compact databases")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("3f5083f8-2738-4573-b230-e9928ef61e6b")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.2.0.2182")]
+[assembly: AssemblyFileVersion("3.2.0.2182")]
+[assembly: AssemblyBuildDate("2009/07/27 17:16:03")]
Index: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.sln
===================================================================
--- branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.sln	(revision 2193)
+++ branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.sln	(revision 2194)
@@ -236,11 +236,7 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.LinearRegression-3.2", "HeuristicLab.LinearRegression\3.2\HeuristicLab.LinearRegression-3.2.csproj", "{B9A64475-D542-47CF-9688-735F6224F055}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Modeling.SQLiteBackend-3.2", "HeuristicLab.Modeling.SQLiteBackend\3.2\HeuristicLab.Modeling.SQLiteBackend-3.2.csproj", "{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Modeling.SQLServerCompactBackend-3.2", "HeuristicLab.Modeling.SQLServerCompactBackend\3.2\HeuristicLab.Modeling.SQLServerCompactBackend-3.2.csproj", "{9B4F7D05-CCE1-45BB-81D1-5D4925851901}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.SQLServerCompact-3.2", "HeuristicLab.SQLServerCompact\3.2\HeuristicLab.SQLServerCompact-3.2.csproj", "{31DD6385-7276-49ED-9533-823D4CDF3D2A}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Modeling.Database-3.2", "HeuristicLab.Modeling.Database\3.2\HeuristicLab.Modeling.Database-3.2.csproj", "{E84E5717-79F8-498F-A5E0-A055C4EC086B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Modeling.Database.SQLServerCompact-3.2", "HeuristicLab.Modeling.Database.SQLServerCompact\3.2\HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj", "{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}"
 EndProject
 Global
@@ -3775,94 +3771,4 @@
 		{B9A64475-D542-47CF-9688-735F6224F055}.Visualization Debug|x86.ActiveCfg = Debug|x86
 		{B9A64475-D542-47CF-9688-735F6224F055}.Visualization Debug|x86.Build.0 = Debug|x86
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Debug|x64.ActiveCfg = Debug|x64
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Debug|x64.Build.0 = Debug|x64
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Debug|x86.ActiveCfg = Debug|x86
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Debug|x86.Build.0 = Debug|x86
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Modeling Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Modeling Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Modeling Debug|x64.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Modeling Debug|x86.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Release|x64.ActiveCfg = Release|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Release|x86.ActiveCfg = Release|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.v3.2 Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.v3.2 Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.v3.2 Debug|x64.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.v3.2 Debug|x86.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Visualization Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Visualization Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Visualization Debug|x64.ActiveCfg = Debug|Any CPU
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC}.Visualization Debug|x86.ActiveCfg = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.CEDMA Debug|x64.ActiveCfg = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.CEDMA Debug|x64.Build.0 = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.CEDMA Debug|x86.ActiveCfg = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.CEDMA Debug|x86.Build.0 = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Debug|x64.ActiveCfg = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Debug|x64.Build.0 = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Debug|x86.ActiveCfg = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Debug|x86.Build.0 = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Modeling Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Modeling Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Modeling Debug|x64.ActiveCfg = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Modeling Debug|x64.Build.0 = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Modeling Debug|x86.ActiveCfg = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Modeling Debug|x86.Build.0 = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Release|x64.ActiveCfg = Release|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Release|x64.Build.0 = Release|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Release|x86.ActiveCfg = Release|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Release|x86.Build.0 = Release|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.v3.2 Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.v3.2 Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.v3.2 Debug|x64.ActiveCfg = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.v3.2 Debug|x64.Build.0 = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.v3.2 Debug|x86.ActiveCfg = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.v3.2 Debug|x86.Build.0 = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Visualization Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Visualization Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Visualization Debug|x64.ActiveCfg = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Visualization Debug|x64.Build.0 = Debug|x64
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Visualization Debug|x86.ActiveCfg = Debug|x86
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901}.Visualization Debug|x86.Build.0 = Debug|x86
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.CEDMA Debug|x64.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.CEDMA Debug|x86.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Debug|x64.ActiveCfg = Debug|x64
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Debug|x64.Build.0 = Debug|x64
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Debug|x86.ActiveCfg = Debug|x86
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Debug|x86.Build.0 = Debug|x86
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Modeling Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Modeling Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Modeling Debug|x64.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Modeling Debug|x86.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Release|x64.ActiveCfg = Release|x64
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Release|x64.Build.0 = Release|x64
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Release|x86.ActiveCfg = Release|x86
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Release|x86.Build.0 = Release|x86
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.v3.2 Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.v3.2 Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.v3.2 Debug|x64.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.v3.2 Debug|x86.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Visualization Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Visualization Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Visualization Debug|x64.ActiveCfg = Debug|Any CPU
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A}.Visualization Debug|x86.ActiveCfg = Debug|Any CPU
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -3893,4 +3799,40 @@
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.Visualization Debug|x64.ActiveCfg = Debug|Any CPU
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B}.Visualization Debug|x86.ActiveCfg = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.CEDMA Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.CEDMA Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.CEDMA Debug|x64.ActiveCfg = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.CEDMA Debug|x64.Build.0 = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.CEDMA Debug|x86.ActiveCfg = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.CEDMA Debug|x86.Build.0 = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Debug|x64.ActiveCfg = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Debug|x64.Build.0 = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Debug|x86.ActiveCfg = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Debug|x86.Build.0 = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Modeling Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Modeling Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Modeling Debug|x64.ActiveCfg = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Modeling Debug|x64.Build.0 = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Modeling Debug|x86.ActiveCfg = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Modeling Debug|x86.Build.0 = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Release|x64.ActiveCfg = Release|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Release|x64.Build.0 = Release|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Release|x86.ActiveCfg = Release|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Release|x86.Build.0 = Release|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.v3.2 Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.v3.2 Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.v3.2 Debug|x64.ActiveCfg = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.v3.2 Debug|x64.Build.0 = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.v3.2 Debug|x86.ActiveCfg = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.v3.2 Debug|x86.Build.0 = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Visualization Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Visualization Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Visualization Debug|x64.ActiveCfg = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Visualization Debug|x64.Build.0 = Debug|x64
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Visualization Debug|x86.ActiveCfg = Debug|x86
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836}.Visualization Debug|x86.Build.0 = Debug|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
@@ -3979,8 +3921,6 @@
 		{C75532C4-765B-418E-B09B-46D36B2ABDB1} = {410732DB-725A-4824-896B-C298978343C0}
 		{B9A64475-D542-47CF-9688-735F6224F055} = {410732DB-725A-4824-896B-C298978343C0}
-		{2F4ADF67-B9DA-4E0D-A217-DF1CA8AD58CC} = {410732DB-725A-4824-896B-C298978343C0}
-		{9B4F7D05-CCE1-45BB-81D1-5D4925851901} = {410732DB-725A-4824-896B-C298978343C0}
-		{31DD6385-7276-49ED-9533-823D4CDF3D2A} = {410732DB-725A-4824-896B-C298978343C0}
 		{E84E5717-79F8-498F-A5E0-A055C4EC086B} = {410732DB-725A-4824-896B-C298978343C0}
+		{EC1AA756-D612-4FA6-AA52-25CF4F8E3836} = {410732DB-725A-4824-896B-C298978343C0}
 		{A9E282EA-180F-4233-B809-AEDF0787545C} = {78982D7C-D63D-4A3D-AE1F-F58AC007603B}
 		{BF7D9494-A586-457B-8DF9-ED599F9E6A71} = {78982D7C-D63D-4A3D-AE1F-F58AC007603B}
