Free cookie consent management tool by TermsFeed Policy Generator

Changeset 9524


Ignore:
Timestamp:
05/24/13 14:28:52 (11 years ago)
Author:
pfleck
Message:

#2063:
Added statistic tables in Hive database.
Updated InitializeHiveDatabase.sql script with new create statements.
Added Linq2Sql entity types for new tables.

Location:
branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.cs

    r8924 r9524  
    2323using System.Data.Linq.Mapping;
    2424namespace HeuristicLab.Services.Hive.DataAccess {
    25   partial class SlaveStatistics {
    26   }
    27 
    2825  partial class HiveDataContext {
    2926    // source: http://stackoverflow.com/questions/648196/random-row-from-linq-to-sql
    3027    [Function(Name = "NEWID", IsComposable = true)]
    31     public Guid Random() { 
     28    public Guid Random() {
    3229      // to prove not used by our C# code...
    3330      throw new NotImplementedException();
  • branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml

    r9393 r9524  
    1 <?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.Hive" Class="HiveDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
     1<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.Hive-3.3" Class="HiveDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
    22  <Connection Mode="AppSettings" ConnectionString="Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.Hive.DataAccess.Settings" SettingsPropertyName="HeuristicLab_Hive_LinqConnectionString" Provider="System.Data.SqlClient" />
    33  <Table Name="dbo.AssignedResources" Member="AssignedResources">
     
    210210    </Type>
    211211  </Table>
     212  <Table Name="[statistics].DimClient" Member="DimClients">
     213    <Type Name="DimClient">
     214      <Column Name="Id" AutoSync="Never" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
     215      <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
     216      <Column Name="ResourceId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     217      <Column Name="ExpirationTime" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
     218      <Column Name="ResourceGroupId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     219      <Column Name="ResourceGroup2Id" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     220      <Association Name="DimClient_FactTask" Member="FactTasks" ThisKey="Id" OtherKey="LastClientId" Type="FactTask" />
     221      <Association Name="DimClient_FactClientInfo" Member="FactClientInfos" ThisKey="Id" OtherKey="ClientId" Type="FactClientInfo" />
     222    </Type>
     223  </Table>
     224  <Table Name="[statistics].FactTask" Member="FactTasks">
     225    <Type Name="FactTask">
     226      <Column Name="TaskId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     227      <Column Name="TotalRuntime" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     228      <Column Name="TotalWaitingTime" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     229      <Column Name="TotalTransferTime" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     230      <Column Name="NumCalculationRuns" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     231      <Column Name="NumFails" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     232      <Column Name="CoresRequired" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     233      <Column Name="MemoryRequired" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     234      <Column Name="TaskSize" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     235      <Column Name="ResultSize" Type="System.Int32" DbType="Int" CanBeNull="true" />
     236      <Column Name="Priority" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     237      <Column Name="LastClientId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     238      <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     239      <Column Name="StartTime" Type="System.DateTime" DbType="DateTime NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     240      <Column Name="EndTime" Type="System.DateTime" DbType="DateTime NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     241      <Association Name="DimClient_FactTask" Member="DimClient" ThisKey="LastClientId" OtherKey="Id" Type="DimClient" IsForeignKey="true" />
     242      <Association Name="DimJob_FactTask" Member="DimJob" ThisKey="JobId" OtherKey="JobId" Type="DimJob" IsForeignKey="true" />
     243      <Association Name="DimTime_FactTask" Member="DimTime" ThisKey="EndTime" OtherKey="Time" Type="DimTime" IsForeignKey="true" />
     244      <Association Name="DimTime_FactTask1" Member="DimTime1" ThisKey="StartTime" OtherKey="Time" Type="DimTime" IsForeignKey="true" />
     245    </Type>
     246  </Table>
     247  <Table Name="[statistics].DimJob" Member="DimJobs">
     248    <Type Name="DimJob">
     249      <Column Name="JobId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     250      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
     251      <Column Name="JobName" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
     252      <Column Name="UserName" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
     253      <Association Name="DimJob_FactTask" Member="FactTasks" ThisKey="JobId" OtherKey="JobId" Type="FactTask" />
     254    </Type>
     255  </Table>
     256  <Table Name="[statistics].DimTime" Member="DimTimes">
     257    <Type Name="DimTime">
     258      <Column Name="Time" Type="System.DateTime" DbType="DateTime NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     259      <Column Name="Hour" Type="System.DateTime" DbType="DateTime NOT NULL" CanBeNull="false" />
     260      <Column Name="Day" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
     261      <Column Name="Week" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
     262      <Column Name="Month" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
     263      <Column Name="Year" Type="System.DateTime" DbType="Date NOT NULL" CanBeNull="false" />
     264      <Association Name="DimTime_FactTask" Member="FactTasks" ThisKey="Time" OtherKey="EndTime" Type="FactTask" />
     265      <Association Name="DimTime_FactTask1" Member="FactTasks1" ThisKey="Time" OtherKey="StartTime" Type="FactTask" />
     266      <Association Name="DimTime_FactClientInfo" Member="FactClientInfos" ThisKey="Time" OtherKey="Time" Type="FactClientInfo" />
     267    </Type>
     268  </Table>
     269  <Table Name="[statistics].DimUser" Member="DimUsers">
     270    <Type Name="DimUser">
     271      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     272      <Column Name="Name" Type="System.String" DbType="VarChar(MAX) NOT NULL" CanBeNull="false" />
     273      <Association Name="DimUser_FactClientInfo" Member="FactClientInfos" ThisKey="UserId" OtherKey="UserId" Type="FactClientInfo" />
     274    </Type>
     275  </Table>
     276  <Table Name="[statistics].FactClientInfo" Member="FactClientInfos">
     277    <Type Name="FactClientInfo">
     278      <Column Name="ClientId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     279      <Column Name="Time" Type="System.DateTime" DbType="DateTime NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     280      <Column Name="UserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
     281      <Column Name="NumUsedCores" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     282      <Column Name="NumTotalCores" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     283      <Column Name="UsedMemory" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     284      <Column Name="TotalMemory" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     285      <Column Name="CpuUtilization" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     286      <Column Name="TrafficIn" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     287      <Column Name="TrafficOut" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
     288      <Column Name="TotalTimeIdle" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     289      <Column Name="TotalTimeCalculating" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     290      <Column Name="TotalTimeTransferring" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     291      <Column Name="TotalTimeOffline" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     292      <Column Name="TotalTimeUnavailable" Type="System.Double" DbType="Float NOT NULL" CanBeNull="false" />
     293      <Association Name="DimClient_FactClientInfo" Member="DimClient" ThisKey="ClientId" OtherKey="Id" Type="DimClient" IsForeignKey="true" />
     294      <Association Name="DimTime_FactClientInfo" Member="DimTime" ThisKey="Time" OtherKey="Time" Type="DimTime" IsForeignKey="true" />
     295      <Association Name="DimUser_FactClientInfo" Member="DimUser" ThisKey="UserId" OtherKey="UserId" Type="DimUser" IsForeignKey="true" />
     296    </Type>
     297  </Table>
    212298</Database>
  • branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout

    r9393 r9524  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 24.25, 8.5" name="HiveDataContext">
     2<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 24.25, 17.25" name="HiveDataContext">
    33  <DataContextMoniker Name="/HiveDataContext" />
    44  <nestedChildShapes>
     
    6969      </nodes>
    7070    </inheritanceConnector>
    71     <associationConnector edgePoints="[(11.8134963640734 : 2.75354248046875); (11.8134963640734 : 3.56770833333333); (11.1119791666667 : 3.56770833333333); (11.1119791666667 : 5.09699625651042); (10.875 : 5.09699625651042)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
     71    <associationConnector edgePoints="[(11.8134963640734 : 2.75354248046875); (11.8134963640734 : 3.56770833333333); (11.1119791666667 : 3.56770833333333); (11.1119791666667 : 5.09699625651042); (10.875 : 5.09699625651042)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
    7272      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedResource" />
    7373      <nodes>
     
    121121      </nestedChildShapes>
    122122    </classShape>
    123     <associationConnector edgePoints="[(11.25 : 1.98159912109375); (10.9375 : 1.98159912109375); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     123    <associationConnector edgePoints="[(11.25 : 1.87677124023437); (10.9375 : 1.87677124023437); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    124124      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_StateLog" />
    125125      <nodes>
     
    247247      </nestedChildShapes>
    248248    </classShape>
     249    <classShape Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" absoluteBounds="4.625, 15.25, 2, 1.7535424804687505">
     250      <DataClassMoniker Name="/HiveDataContext/DimClient" />
     251      <nestedChildShapes>
     252        <elementListCompartment Id="30f62a7b-0b16-404e-b972-fb12bfe978dd" absoluteBounds="4.6400000000000006, 15.71, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     253      </nestedChildShapes>
     254    </classShape>
     255    <classShape Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" absoluteBounds="6.875, 11.25, 2, 3.2326684570312523">
     256      <DataClassMoniker Name="/HiveDataContext/FactTask" />
     257      <nestedChildShapes>
     258        <elementListCompartment Id="63e3ddcb-a6fe-48e0-a674-e650a55a9f2c" absoluteBounds="6.8900000000000006, 11.71, 1.9700000000000002, 2.67266845703125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     259      </nestedChildShapes>
     260    </classShape>
     261    <classShape Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" absoluteBounds="8.125, 9.125, 2, 1.4248478190104166">
     262      <DataClassMoniker Name="/HiveDataContext/DimJob" />
     263      <nestedChildShapes>
     264        <elementListCompartment Id="6b9e8260-7e4b-4357-9c26-eebebfd69504" absoluteBounds="8.14, 9.585, 1.9700000000000002, 0.86484781901041674" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     265      </nestedChildShapes>
     266    </classShape>
     267    <classShape Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" absoluteBounds="3.625, 8.5, 2, 1.7535424804687487">
     268      <DataClassMoniker Name="/HiveDataContext/DimTime" />
     269      <nestedChildShapes>
     270        <elementListCompartment Id="694c4a5a-20fb-43a9-bc9a-7b59d794a7fb" absoluteBounds="3.6399999999999997, 8.96, 1.9700000000000002, 1.19354248046875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     271      </nestedChildShapes>
     272    </classShape>
     273    <classShape Id="66c34ced-4fdb-4a1d-b8dd-fe094679b7fb" absoluteBounds="0.625, 8.875, 2, 1.0961531575520844">
     274      <DataClassMoniker Name="/HiveDataContext/DimUser" />
     275      <nestedChildShapes>
     276        <elementListCompartment Id="6181c560-fc74-4d43-b064-a90032bf17a5" absoluteBounds="0.64000000000000012, 9.335, 1.9700000000000002, 0.53615315755208326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     277      </nestedChildShapes>
     278    </classShape>
     279    <classShape Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" absoluteBounds="2.625, 11, 2, 3.2326684570312523">
     280      <DataClassMoniker Name="/HiveDataContext/FactClientInfo" />
     281      <nestedChildShapes>
     282        <elementListCompartment Id="0a1cc913-6636-455c-95b3-302f533527db" absoluteBounds="2.6399999999999997, 11.46, 1.9700000000000002, 2.67266845703125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     283      </nestedChildShapes>
     284    </classShape>
     285    <associationConnector edgePoints="[(6.625 : 16.1191239261004); (7.875 : 16.1191239261004); (7.875 : 14.4826684570313)]" fixedFrom="Caller" fixedTo="Algorithm">
     286      <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactTask" />
     287      <nodes>
     288        <classShapeMoniker Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" />
     289        <classShapeMoniker Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" />
     290      </nodes>
     291    </associationConnector>
     292    <associationConnector edgePoints="[(8.5 : 10.5498478190104); (8.5 : 11.25)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     293      <AssociationMoniker Name="/HiveDataContext/DimJob/DimJob_FactTask" />
     294      <nodes>
     295        <classShapeMoniker Id="e0cb8641-a75e-4b9f-beda-3218c56938b1" />
     296        <classShapeMoniker Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" />
     297      </nodes>
     298    </associationConnector>
     299    <associationConnector edgePoints="[(5.625 : 9.57218767438616); (7.15624775 : 9.57218767438616); (7.15624775 : 11.25)]" fixedFrom="Caller" fixedTo="Algorithm">
     300      <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactTask" />
     301      <nodes>
     302        <classShapeMoniker Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" />
     303        <classShapeMoniker Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" />
     304      </nodes>
     305    </associationConnector>
     306    <associationConnector edgePoints="[(5.625 : 9.28136218952683); (7.4999995 : 9.28136218952683); (7.4999995 : 11.25)]" fixedFrom="Caller" fixedTo="Algorithm">
     307      <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactTask1" />
     308      <nodes>
     309        <classShapeMoniker Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" />
     310        <classShapeMoniker Id="04f52807-ce17-4d65-bd23-cc38c6dfbd7a" />
     311      </nodes>
     312    </associationConnector>
     313    <associationConnector edgePoints="[(4.625 : 16.2383361179518); (3.59375 : 16.2383361179518); (3.59375 : 14.2326684570313)]" fixedFrom="Caller" fixedTo="Algorithm">
     314      <AssociationMoniker Name="/HiveDataContext/DimClient/DimClient_FactClientInfo" />
     315      <nodes>
     316        <classShapeMoniker Id="b5b919c2-4efc-4f09-8f52-9d541a11e961" />
     317        <classShapeMoniker Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" />
     318      </nodes>
     319    </associationConnector>
     320    <associationConnector edgePoints="[(4.125 : 10.2535424804687); (4.125 : 11)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     321      <AssociationMoniker Name="/HiveDataContext/DimTime/DimTime_FactClientInfo" />
     322      <nodes>
     323        <classShapeMoniker Id="a769f2ac-c8e3-4860-baa5-c46f46c38ed8" />
     324        <classShapeMoniker Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" />
     325      </nodes>
     326    </associationConnector>
     327    <associationConnector edgePoints="[(1.59375 : 9.97115315755208); (1.59375 : 12.6163342285156); (2.625 : 12.6163342285156)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     328      <AssociationMoniker Name="/HiveDataContext/DimUser/DimUser_FactClientInfo" />
     329      <nodes>
     330        <classShapeMoniker Id="66c34ced-4fdb-4a1d-b8dd-fe094679b7fb" />
     331        <classShapeMoniker Id="053a5cff-b18a-4ee5-8d43-48ed5c5dcfad" />
     332      </nodes>
     333    </associationConnector>
    249334  </nestedChildShapes>
    250335</ordesignerObjectsDiagram>
  • branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs

    r9393 r9524  
    2323 
    2424 
    25   [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="HeuristicLab.Hive")]
     25  [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="HeuristicLab.Hive-3.3")]
    2626  public partial class HiveDataContext : System.Data.Linq.DataContext
    2727  {
     
    8585    partial void UpdateUserPriority(UserPriority instance);
    8686    partial void DeleteUserPriority(UserPriority instance);
     87    partial void InsertDimClient(DimClient instance);
     88    partial void UpdateDimClient(DimClient instance);
     89    partial void DeleteDimClient(DimClient instance);
     90    partial void InsertFactTask(FactTask instance);
     91    partial void UpdateFactTask(FactTask instance);
     92    partial void DeleteFactTask(FactTask instance);
     93    partial void InsertDimJob(DimJob instance);
     94    partial void UpdateDimJob(DimJob instance);
     95    partial void DeleteDimJob(DimJob instance);
     96    partial void InsertDimTime(DimTime instance);
     97    partial void UpdateDimTime(DimTime instance);
     98    partial void DeleteDimTime(DimTime instance);
     99    partial void InsertDimUser(DimUser instance);
     100    partial void UpdateDimUser(DimUser instance);
     101    partial void DeleteDimUser(DimUser instance);
     102    partial void InsertFactClientInfo(FactClientInfo instance);
     103    partial void UpdateFactClientInfo(FactClientInfo instance);
     104    partial void DeleteFactClientInfo(FactClientInfo instance);
    87105    #endregion
    88106   
     
    258276      {
    259277        return this.GetTable<UserPriority>();
     278      }
     279    }
     280   
     281    public System.Data.Linq.Table<DimClient> DimClients
     282    {
     283      get
     284      {
     285        return this.GetTable<DimClient>();
     286      }
     287    }
     288   
     289    public System.Data.Linq.Table<FactTask> FactTasks
     290    {
     291      get
     292      {
     293        return this.GetTable<FactTask>();
     294      }
     295    }
     296   
     297    public System.Data.Linq.Table<DimJob> DimJobs
     298    {
     299      get
     300      {
     301        return this.GetTable<DimJob>();
     302      }
     303    }
     304   
     305    public System.Data.Linq.Table<DimTime> DimTimes
     306    {
     307      get
     308      {
     309        return this.GetTable<DimTime>();
     310      }
     311    }
     312   
     313    public System.Data.Linq.Table<DimUser> DimUsers
     314    {
     315      get
     316      {
     317        return this.GetTable<DimUser>();
     318      }
     319    }
     320   
     321    public System.Data.Linq.Table<FactClientInfo> FactClientInfos
     322    {
     323      get
     324      {
     325        return this.GetTable<FactClientInfo>();
    260326      }
    261327    }
     
    45344600    }
    45354601  }
     4602 
     4603  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].DimClient")]
     4604  public partial class DimClient : INotifyPropertyChanging, INotifyPropertyChanged
     4605  {
     4606   
     4607    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     4608   
     4609    private System.Guid _Id;
     4610   
     4611    private string _Name;
     4612   
     4613    private System.Guid _ResourceId;
     4614   
     4615    private System.Nullable<System.DateTime> _ExpirationTime;
     4616   
     4617    private System.Nullable<System.Guid> _ResourceGroupId;
     4618   
     4619    private System.Nullable<System.Guid> _ResourceGroup2Id;
     4620   
     4621    private EntitySet<FactTask> _FactTasks;
     4622   
     4623    private EntitySet<FactClientInfo> _FactClientInfos;
     4624   
     4625    #region Extensibility Method Definitions
     4626    partial void OnLoaded();
     4627    partial void OnValidate(System.Data.Linq.ChangeAction action);
     4628    partial void OnCreated();
     4629    partial void OnIdChanging(System.Guid value);
     4630    partial void OnIdChanged();
     4631    partial void OnNameChanging(string value);
     4632    partial void OnNameChanged();
     4633    partial void OnResourceIdChanging(System.Guid value);
     4634    partial void OnResourceIdChanged();
     4635    partial void OnExpirationTimeChanging(System.Nullable<System.DateTime> value);
     4636    partial void OnExpirationTimeChanged();
     4637    partial void OnResourceGroupIdChanging(System.Nullable<System.Guid> value);
     4638    partial void OnResourceGroupIdChanged();
     4639    partial void OnResourceGroup2IdChanging(System.Nullable<System.Guid> value);
     4640    partial void OnResourceGroup2IdChanged();
     4641    #endregion
     4642   
     4643    public DimClient()
     4644    {
     4645      this._FactTasks = new EntitySet<FactTask>(new Action<FactTask>(this.attach_FactTasks), new Action<FactTask>(this.detach_FactTasks));
     4646      this._FactClientInfos = new EntitySet<FactClientInfo>(new Action<FactClientInfo>(this.attach_FactClientInfos), new Action<FactClientInfo>(this.detach_FactClientInfos));
     4647      OnCreated();
     4648    }
     4649   
     4650    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
     4651    public System.Guid Id
     4652    {
     4653      get
     4654      {
     4655        return this._Id;
     4656      }
     4657      set
     4658      {
     4659        if ((this._Id != value))
     4660        {
     4661          this.OnIdChanging(value);
     4662          this.SendPropertyChanging();
     4663          this._Id = value;
     4664          this.SendPropertyChanged("Id");
     4665          this.OnIdChanged();
     4666        }
     4667      }
     4668    }
     4669   
     4670    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
     4671    public string Name
     4672    {
     4673      get
     4674      {
     4675        return this._Name;
     4676      }
     4677      set
     4678      {
     4679        if ((this._Name != value))
     4680        {
     4681          this.OnNameChanging(value);
     4682          this.SendPropertyChanging();
     4683          this._Name = value;
     4684          this.SendPropertyChanged("Name");
     4685          this.OnNameChanged();
     4686        }
     4687      }
     4688    }
     4689   
     4690    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
     4691    public System.Guid ResourceId
     4692    {
     4693      get
     4694      {
     4695        return this._ResourceId;
     4696      }
     4697      set
     4698      {
     4699        if ((this._ResourceId != value))
     4700        {
     4701          this.OnResourceIdChanging(value);
     4702          this.SendPropertyChanging();
     4703          this._ResourceId = value;
     4704          this.SendPropertyChanged("ResourceId");
     4705          this.OnResourceIdChanged();
     4706        }
     4707      }
     4708    }
     4709   
     4710    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExpirationTime", DbType="DateTime")]
     4711    public System.Nullable<System.DateTime> ExpirationTime
     4712    {
     4713      get
     4714      {
     4715        return this._ExpirationTime;
     4716      }
     4717      set
     4718      {
     4719        if ((this._ExpirationTime != value))
     4720        {
     4721          this.OnExpirationTimeChanging(value);
     4722          this.SendPropertyChanging();
     4723          this._ExpirationTime = value;
     4724          this.SendPropertyChanged("ExpirationTime");
     4725          this.OnExpirationTimeChanged();
     4726        }
     4727      }
     4728    }
     4729   
     4730    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceGroupId", DbType="UniqueIdentifier")]
     4731    public System.Nullable<System.Guid> ResourceGroupId
     4732    {
     4733      get
     4734      {
     4735        return this._ResourceGroupId;
     4736      }
     4737      set
     4738      {
     4739        if ((this._ResourceGroupId != value))
     4740        {
     4741          this.OnResourceGroupIdChanging(value);
     4742          this.SendPropertyChanging();
     4743          this._ResourceGroupId = value;
     4744          this.SendPropertyChanged("ResourceGroupId");
     4745          this.OnResourceGroupIdChanged();
     4746        }
     4747      }
     4748    }
     4749   
     4750    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceGroup2Id", DbType="UniqueIdentifier")]
     4751    public System.Nullable<System.Guid> ResourceGroup2Id
     4752    {
     4753      get
     4754      {
     4755        return this._ResourceGroup2Id;
     4756      }
     4757      set
     4758      {
     4759        if ((this._ResourceGroup2Id != value))
     4760        {
     4761          this.OnResourceGroup2IdChanging(value);
     4762          this.SendPropertyChanging();
     4763          this._ResourceGroup2Id = value;
     4764          this.SendPropertyChanged("ResourceGroup2Id");
     4765          this.OnResourceGroup2IdChanged();
     4766        }
     4767      }
     4768    }
     4769   
     4770    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactTask", Storage="_FactTasks", ThisKey="Id", OtherKey="LastClientId")]
     4771    public EntitySet<FactTask> FactTasks
     4772    {
     4773      get
     4774      {
     4775        return this._FactTasks;
     4776      }
     4777      set
     4778      {
     4779        this._FactTasks.Assign(value);
     4780      }
     4781    }
     4782   
     4783    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactClientInfo", Storage="_FactClientInfos", ThisKey="Id", OtherKey="ClientId")]
     4784    public EntitySet<FactClientInfo> FactClientInfos
     4785    {
     4786      get
     4787      {
     4788        return this._FactClientInfos;
     4789      }
     4790      set
     4791      {
     4792        this._FactClientInfos.Assign(value);
     4793      }
     4794    }
     4795   
     4796    public event PropertyChangingEventHandler PropertyChanging;
     4797   
     4798    public event PropertyChangedEventHandler PropertyChanged;
     4799   
     4800    protected virtual void SendPropertyChanging()
     4801    {
     4802      if ((this.PropertyChanging != null))
     4803      {
     4804        this.PropertyChanging(this, emptyChangingEventArgs);
     4805      }
     4806    }
     4807   
     4808    protected virtual void SendPropertyChanged(String propertyName)
     4809    {
     4810      if ((this.PropertyChanged != null))
     4811      {
     4812        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     4813      }
     4814    }
     4815   
     4816    private void attach_FactTasks(FactTask entity)
     4817    {
     4818      this.SendPropertyChanging();
     4819      entity.DimClient = this;
     4820    }
     4821   
     4822    private void detach_FactTasks(FactTask entity)
     4823    {
     4824      this.SendPropertyChanging();
     4825      entity.DimClient = null;
     4826    }
     4827   
     4828    private void attach_FactClientInfos(FactClientInfo entity)
     4829    {
     4830      this.SendPropertyChanging();
     4831      entity.DimClient = this;
     4832    }
     4833   
     4834    private void detach_FactClientInfos(FactClientInfo entity)
     4835    {
     4836      this.SendPropertyChanging();
     4837      entity.DimClient = null;
     4838    }
     4839  }
     4840 
     4841  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].FactTask")]
     4842  public partial class FactTask : INotifyPropertyChanging, INotifyPropertyChanged
     4843  {
     4844   
     4845    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     4846   
     4847    private System.Guid _TaskId;
     4848   
     4849    private double _TotalRuntime;
     4850   
     4851    private double _TotalWaitingTime;
     4852   
     4853    private double _TotalTransferTime;
     4854   
     4855    private int _NumCalculationRuns;
     4856   
     4857    private int _NumFails;
     4858   
     4859    private int _CoresRequired;
     4860   
     4861    private int _MemoryRequired;
     4862   
     4863    private int _TaskSize;
     4864   
     4865    private System.Nullable<int> _ResultSize;
     4866   
     4867    private int _Priority;
     4868   
     4869    private System.Guid _LastClientId;
     4870   
     4871    private System.Guid _JobId;
     4872   
     4873    private System.DateTime _StartTime;
     4874   
     4875    private System.DateTime _EndTime;
     4876   
     4877    private EntityRef<DimClient> _DimClient;
     4878   
     4879    private EntityRef<DimJob> _DimJob;
     4880   
     4881    private EntityRef<DimTime> _DimTime;
     4882   
     4883    private EntityRef<DimTime> _DimTime1;
     4884   
     4885    #region Extensibility Method Definitions
     4886    partial void OnLoaded();
     4887    partial void OnValidate(System.Data.Linq.ChangeAction action);
     4888    partial void OnCreated();
     4889    partial void OnTaskIdChanging(System.Guid value);
     4890    partial void OnTaskIdChanged();
     4891    partial void OnTotalRuntimeChanging(double value);
     4892    partial void OnTotalRuntimeChanged();
     4893    partial void OnTotalWaitingTimeChanging(double value);
     4894    partial void OnTotalWaitingTimeChanged();
     4895    partial void OnTotalTransferTimeChanging(double value);
     4896    partial void OnTotalTransferTimeChanged();
     4897    partial void OnNumCalculationRunsChanging(int value);
     4898    partial void OnNumCalculationRunsChanged();
     4899    partial void OnNumFailsChanging(int value);
     4900    partial void OnNumFailsChanged();
     4901    partial void OnCoresRequiredChanging(int value);
     4902    partial void OnCoresRequiredChanged();
     4903    partial void OnMemoryRequiredChanging(int value);
     4904    partial void OnMemoryRequiredChanged();
     4905    partial void OnTaskSizeChanging(int value);
     4906    partial void OnTaskSizeChanged();
     4907    partial void OnResultSizeChanging(System.Nullable<int> value);
     4908    partial void OnResultSizeChanged();
     4909    partial void OnPriorityChanging(int value);
     4910    partial void OnPriorityChanged();
     4911    partial void OnLastClientIdChanging(System.Guid value);
     4912    partial void OnLastClientIdChanged();
     4913    partial void OnJobIdChanging(System.Guid value);
     4914    partial void OnJobIdChanged();
     4915    partial void OnStartTimeChanging(System.DateTime value);
     4916    partial void OnStartTimeChanged();
     4917    partial void OnEndTimeChanging(System.DateTime value);
     4918    partial void OnEndTimeChanged();
     4919    #endregion
     4920   
     4921    public FactTask()
     4922    {
     4923      this._DimClient = default(EntityRef<DimClient>);
     4924      this._DimJob = default(EntityRef<DimJob>);
     4925      this._DimTime = default(EntityRef<DimTime>);
     4926      this._DimTime1 = default(EntityRef<DimTime>);
     4927      OnCreated();
     4928    }
     4929   
     4930    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TaskId", DbType="UniqueIdentifier NOT NULL")]
     4931    public System.Guid TaskId
     4932    {
     4933      get
     4934      {
     4935        return this._TaskId;
     4936      }
     4937      set
     4938      {
     4939        if ((this._TaskId != value))
     4940        {
     4941          this.OnTaskIdChanging(value);
     4942          this.SendPropertyChanging();
     4943          this._TaskId = value;
     4944          this.SendPropertyChanged("TaskId");
     4945          this.OnTaskIdChanged();
     4946        }
     4947      }
     4948    }
     4949   
     4950    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalRuntime", DbType="Float NOT NULL")]
     4951    public double TotalRuntime
     4952    {
     4953      get
     4954      {
     4955        return this._TotalRuntime;
     4956      }
     4957      set
     4958      {
     4959        if ((this._TotalRuntime != value))
     4960        {
     4961          this.OnTotalRuntimeChanging(value);
     4962          this.SendPropertyChanging();
     4963          this._TotalRuntime = value;
     4964          this.SendPropertyChanged("TotalRuntime");
     4965          this.OnTotalRuntimeChanged();
     4966        }
     4967      }
     4968    }
     4969   
     4970    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalWaitingTime", DbType="Float NOT NULL")]
     4971    public double TotalWaitingTime
     4972    {
     4973      get
     4974      {
     4975        return this._TotalWaitingTime;
     4976      }
     4977      set
     4978      {
     4979        if ((this._TotalWaitingTime != value))
     4980        {
     4981          this.OnTotalWaitingTimeChanging(value);
     4982          this.SendPropertyChanging();
     4983          this._TotalWaitingTime = value;
     4984          this.SendPropertyChanged("TotalWaitingTime");
     4985          this.OnTotalWaitingTimeChanged();
     4986        }
     4987      }
     4988    }
     4989   
     4990    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTransferTime", DbType="Float NOT NULL")]
     4991    public double TotalTransferTime
     4992    {
     4993      get
     4994      {
     4995        return this._TotalTransferTime;
     4996      }
     4997      set
     4998      {
     4999        if ((this._TotalTransferTime != value))
     5000        {
     5001          this.OnTotalTransferTimeChanging(value);
     5002          this.SendPropertyChanging();
     5003          this._TotalTransferTime = value;
     5004          this.SendPropertyChanged("TotalTransferTime");
     5005          this.OnTotalTransferTimeChanged();
     5006        }
     5007      }
     5008    }
     5009   
     5010    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumCalculationRuns", DbType="Int NOT NULL")]
     5011    public int NumCalculationRuns
     5012    {
     5013      get
     5014      {
     5015        return this._NumCalculationRuns;
     5016      }
     5017      set
     5018      {
     5019        if ((this._NumCalculationRuns != value))
     5020        {
     5021          this.OnNumCalculationRunsChanging(value);
     5022          this.SendPropertyChanging();
     5023          this._NumCalculationRuns = value;
     5024          this.SendPropertyChanged("NumCalculationRuns");
     5025          this.OnNumCalculationRunsChanged();
     5026        }
     5027      }
     5028    }
     5029   
     5030    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumFails", DbType="Int NOT NULL")]
     5031    public int NumFails
     5032    {
     5033      get
     5034      {
     5035        return this._NumFails;
     5036      }
     5037      set
     5038      {
     5039        if ((this._NumFails != value))
     5040        {
     5041          this.OnNumFailsChanging(value);
     5042          this.SendPropertyChanging();
     5043          this._NumFails = value;
     5044          this.SendPropertyChanged("NumFails");
     5045          this.OnNumFailsChanged();
     5046        }
     5047      }
     5048    }
     5049   
     5050    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CoresRequired", DbType="Int NOT NULL")]
     5051    public int CoresRequired
     5052    {
     5053      get
     5054      {
     5055        return this._CoresRequired;
     5056      }
     5057      set
     5058      {
     5059        if ((this._CoresRequired != value))
     5060        {
     5061          this.OnCoresRequiredChanging(value);
     5062          this.SendPropertyChanging();
     5063          this._CoresRequired = value;
     5064          this.SendPropertyChanged("CoresRequired");
     5065          this.OnCoresRequiredChanged();
     5066        }
     5067      }
     5068    }
     5069   
     5070    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemoryRequired", DbType="Int NOT NULL")]
     5071    public int MemoryRequired
     5072    {
     5073      get
     5074      {
     5075        return this._MemoryRequired;
     5076      }
     5077      set
     5078      {
     5079        if ((this._MemoryRequired != value))
     5080        {
     5081          this.OnMemoryRequiredChanging(value);
     5082          this.SendPropertyChanging();
     5083          this._MemoryRequired = value;
     5084          this.SendPropertyChanged("MemoryRequired");
     5085          this.OnMemoryRequiredChanged();
     5086        }
     5087      }
     5088    }
     5089   
     5090    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TaskSize", DbType="Int NOT NULL")]
     5091    public int TaskSize
     5092    {
     5093      get
     5094      {
     5095        return this._TaskSize;
     5096      }
     5097      set
     5098      {
     5099        if ((this._TaskSize != value))
     5100        {
     5101          this.OnTaskSizeChanging(value);
     5102          this.SendPropertyChanging();
     5103          this._TaskSize = value;
     5104          this.SendPropertyChanged("TaskSize");
     5105          this.OnTaskSizeChanged();
     5106        }
     5107      }
     5108    }
     5109   
     5110    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResultSize", DbType="Int")]
     5111    public System.Nullable<int> ResultSize
     5112    {
     5113      get
     5114      {
     5115        return this._ResultSize;
     5116      }
     5117      set
     5118      {
     5119        if ((this._ResultSize != value))
     5120        {
     5121          this.OnResultSizeChanging(value);
     5122          this.SendPropertyChanging();
     5123          this._ResultSize = value;
     5124          this.SendPropertyChanged("ResultSize");
     5125          this.OnResultSizeChanged();
     5126        }
     5127      }
     5128    }
     5129   
     5130    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Priority", DbType="Int NOT NULL")]
     5131    public int Priority
     5132    {
     5133      get
     5134      {
     5135        return this._Priority;
     5136      }
     5137      set
     5138      {
     5139        if ((this._Priority != value))
     5140        {
     5141          this.OnPriorityChanging(value);
     5142          this.SendPropertyChanging();
     5143          this._Priority = value;
     5144          this.SendPropertyChanged("Priority");
     5145          this.OnPriorityChanged();
     5146        }
     5147      }
     5148    }
     5149   
     5150    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastClientId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     5151    public System.Guid LastClientId
     5152    {
     5153      get
     5154      {
     5155        return this._LastClientId;
     5156      }
     5157      set
     5158      {
     5159        if ((this._LastClientId != value))
     5160        {
     5161          if (this._DimClient.HasLoadedOrAssignedValue)
     5162          {
     5163            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     5164          }
     5165          this.OnLastClientIdChanging(value);
     5166          this.SendPropertyChanging();
     5167          this._LastClientId = value;
     5168          this.SendPropertyChanged("LastClientId");
     5169          this.OnLastClientIdChanged();
     5170        }
     5171      }
     5172    }
     5173   
     5174    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     5175    public System.Guid JobId
     5176    {
     5177      get
     5178      {
     5179        return this._JobId;
     5180      }
     5181      set
     5182      {
     5183        if ((this._JobId != value))
     5184        {
     5185          if (this._DimJob.HasLoadedOrAssignedValue)
     5186          {
     5187            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     5188          }
     5189          this.OnJobIdChanging(value);
     5190          this.SendPropertyChanging();
     5191          this._JobId = value;
     5192          this.SendPropertyChanged("JobId");
     5193          this.OnJobIdChanged();
     5194        }
     5195      }
     5196    }
     5197   
     5198    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartTime", DbType="DateTime NOT NULL", IsPrimaryKey=true)]
     5199    public System.DateTime StartTime
     5200    {
     5201      get
     5202      {
     5203        return this._StartTime;
     5204      }
     5205      set
     5206      {
     5207        if ((this._StartTime != value))
     5208        {
     5209          if (this._DimTime1.HasLoadedOrAssignedValue)
     5210          {
     5211            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     5212          }
     5213          this.OnStartTimeChanging(value);
     5214          this.SendPropertyChanging();
     5215          this._StartTime = value;
     5216          this.SendPropertyChanged("StartTime");
     5217          this.OnStartTimeChanged();
     5218        }
     5219      }
     5220    }
     5221   
     5222    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndTime", DbType="DateTime NOT NULL", IsPrimaryKey=true)]
     5223    public System.DateTime EndTime
     5224    {
     5225      get
     5226      {
     5227        return this._EndTime;
     5228      }
     5229      set
     5230      {
     5231        if ((this._EndTime != value))
     5232        {
     5233          if (this._DimTime.HasLoadedOrAssignedValue)
     5234          {
     5235            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     5236          }
     5237          this.OnEndTimeChanging(value);
     5238          this.SendPropertyChanging();
     5239          this._EndTime = value;
     5240          this.SendPropertyChanged("EndTime");
     5241          this.OnEndTimeChanged();
     5242        }
     5243      }
     5244    }
     5245   
     5246    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactTask", Storage="_DimClient", ThisKey="LastClientId", OtherKey="Id", IsForeignKey=true)]
     5247    public DimClient DimClient
     5248    {
     5249      get
     5250      {
     5251        return this._DimClient.Entity;
     5252      }
     5253      set
     5254      {
     5255        DimClient previousValue = this._DimClient.Entity;
     5256        if (((previousValue != value)
     5257              || (this._DimClient.HasLoadedOrAssignedValue == false)))
     5258        {
     5259          this.SendPropertyChanging();
     5260          if ((previousValue != null))
     5261          {
     5262            this._DimClient.Entity = null;
     5263            previousValue.FactTasks.Remove(this);
     5264          }
     5265          this._DimClient.Entity = value;
     5266          if ((value != null))
     5267          {
     5268            value.FactTasks.Add(this);
     5269            this._LastClientId = value.Id;
     5270          }
     5271          else
     5272          {
     5273            this._LastClientId = default(System.Guid);
     5274          }
     5275          this.SendPropertyChanged("DimClient");
     5276        }
     5277      }
     5278    }
     5279   
     5280    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimJob_FactTask", Storage="_DimJob", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
     5281    public DimJob DimJob
     5282    {
     5283      get
     5284      {
     5285        return this._DimJob.Entity;
     5286      }
     5287      set
     5288      {
     5289        DimJob previousValue = this._DimJob.Entity;
     5290        if (((previousValue != value)
     5291              || (this._DimJob.HasLoadedOrAssignedValue == false)))
     5292        {
     5293          this.SendPropertyChanging();
     5294          if ((previousValue != null))
     5295          {
     5296            this._DimJob.Entity = null;
     5297            previousValue.FactTasks.Remove(this);
     5298          }
     5299          this._DimJob.Entity = value;
     5300          if ((value != null))
     5301          {
     5302            value.FactTasks.Add(this);
     5303            this._JobId = value.JobId;
     5304          }
     5305          else
     5306          {
     5307            this._JobId = default(System.Guid);
     5308          }
     5309          this.SendPropertyChanged("DimJob");
     5310        }
     5311      }
     5312    }
     5313   
     5314    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactTask", Storage="_DimTime", ThisKey="EndTime", OtherKey="Time", IsForeignKey=true)]
     5315    public DimTime DimTime
     5316    {
     5317      get
     5318      {
     5319        return this._DimTime.Entity;
     5320      }
     5321      set
     5322      {
     5323        DimTime previousValue = this._DimTime.Entity;
     5324        if (((previousValue != value)
     5325              || (this._DimTime.HasLoadedOrAssignedValue == false)))
     5326        {
     5327          this.SendPropertyChanging();
     5328          if ((previousValue != null))
     5329          {
     5330            this._DimTime.Entity = null;
     5331            previousValue.FactTasks.Remove(this);
     5332          }
     5333          this._DimTime.Entity = value;
     5334          if ((value != null))
     5335          {
     5336            value.FactTasks.Add(this);
     5337            this._EndTime = value.Time;
     5338          }
     5339          else
     5340          {
     5341            this._EndTime = default(System.DateTime);
     5342          }
     5343          this.SendPropertyChanged("DimTime");
     5344        }
     5345      }
     5346    }
     5347   
     5348    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactTask1", Storage="_DimTime1", ThisKey="StartTime", OtherKey="Time", IsForeignKey=true)]
     5349    public DimTime DimTime1
     5350    {
     5351      get
     5352      {
     5353        return this._DimTime1.Entity;
     5354      }
     5355      set
     5356      {
     5357        DimTime previousValue = this._DimTime1.Entity;
     5358        if (((previousValue != value)
     5359              || (this._DimTime1.HasLoadedOrAssignedValue == false)))
     5360        {
     5361          this.SendPropertyChanging();
     5362          if ((previousValue != null))
     5363          {
     5364            this._DimTime1.Entity = null;
     5365            previousValue.FactTasks1.Remove(this);
     5366          }
     5367          this._DimTime1.Entity = value;
     5368          if ((value != null))
     5369          {
     5370            value.FactTasks1.Add(this);
     5371            this._StartTime = value.Time;
     5372          }
     5373          else
     5374          {
     5375            this._StartTime = default(System.DateTime);
     5376          }
     5377          this.SendPropertyChanged("DimTime1");
     5378        }
     5379      }
     5380    }
     5381   
     5382    public event PropertyChangingEventHandler PropertyChanging;
     5383   
     5384    public event PropertyChangedEventHandler PropertyChanged;
     5385   
     5386    protected virtual void SendPropertyChanging()
     5387    {
     5388      if ((this.PropertyChanging != null))
     5389      {
     5390        this.PropertyChanging(this, emptyChangingEventArgs);
     5391      }
     5392    }
     5393   
     5394    protected virtual void SendPropertyChanged(String propertyName)
     5395    {
     5396      if ((this.PropertyChanged != null))
     5397      {
     5398        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     5399      }
     5400    }
     5401  }
     5402 
     5403  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].DimJob")]
     5404  public partial class DimJob : INotifyPropertyChanging, INotifyPropertyChanged
     5405  {
     5406   
     5407    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     5408   
     5409    private System.Guid _JobId;
     5410   
     5411    private System.Guid _UserId;
     5412   
     5413    private string _JobName;
     5414   
     5415    private string _UserName;
     5416   
     5417    private EntitySet<FactTask> _FactTasks;
     5418   
     5419    #region Extensibility Method Definitions
     5420    partial void OnLoaded();
     5421    partial void OnValidate(System.Data.Linq.ChangeAction action);
     5422    partial void OnCreated();
     5423    partial void OnJobIdChanging(System.Guid value);
     5424    partial void OnJobIdChanged();
     5425    partial void OnUserIdChanging(System.Guid value);
     5426    partial void OnUserIdChanged();
     5427    partial void OnJobNameChanging(string value);
     5428    partial void OnJobNameChanged();
     5429    partial void OnUserNameChanging(string value);
     5430    partial void OnUserNameChanged();
     5431    #endregion
     5432   
     5433    public DimJob()
     5434    {
     5435      this._FactTasks = new EntitySet<FactTask>(new Action<FactTask>(this.attach_FactTasks), new Action<FactTask>(this.detach_FactTasks));
     5436      OnCreated();
     5437    }
     5438   
     5439    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     5440    public System.Guid JobId
     5441    {
     5442      get
     5443      {
     5444        return this._JobId;
     5445      }
     5446      set
     5447      {
     5448        if ((this._JobId != value))
     5449        {
     5450          this.OnJobIdChanging(value);
     5451          this.SendPropertyChanging();
     5452          this._JobId = value;
     5453          this.SendPropertyChanged("JobId");
     5454          this.OnJobIdChanged();
     5455        }
     5456      }
     5457    }
     5458   
     5459    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL")]
     5460    public System.Guid UserId
     5461    {
     5462      get
     5463      {
     5464        return this._UserId;
     5465      }
     5466      set
     5467      {
     5468        if ((this._UserId != value))
     5469        {
     5470          this.OnUserIdChanging(value);
     5471          this.SendPropertyChanging();
     5472          this._UserId = value;
     5473          this.SendPropertyChanged("UserId");
     5474          this.OnUserIdChanged();
     5475        }
     5476      }
     5477    }
     5478   
     5479    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobName", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
     5480    public string JobName
     5481    {
     5482      get
     5483      {
     5484        return this._JobName;
     5485      }
     5486      set
     5487      {
     5488        if ((this._JobName != value))
     5489        {
     5490          this.OnJobNameChanging(value);
     5491          this.SendPropertyChanging();
     5492          this._JobName = value;
     5493          this.SendPropertyChanged("JobName");
     5494          this.OnJobNameChanged();
     5495        }
     5496      }
     5497    }
     5498   
     5499    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserName", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
     5500    public string UserName
     5501    {
     5502      get
     5503      {
     5504        return this._UserName;
     5505      }
     5506      set
     5507      {
     5508        if ((this._UserName != value))
     5509        {
     5510          this.OnUserNameChanging(value);
     5511          this.SendPropertyChanging();
     5512          this._UserName = value;
     5513          this.SendPropertyChanged("UserName");
     5514          this.OnUserNameChanged();
     5515        }
     5516      }
     5517    }
     5518   
     5519    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimJob_FactTask", Storage="_FactTasks", ThisKey="JobId", OtherKey="JobId")]
     5520    public EntitySet<FactTask> FactTasks
     5521    {
     5522      get
     5523      {
     5524        return this._FactTasks;
     5525      }
     5526      set
     5527      {
     5528        this._FactTasks.Assign(value);
     5529      }
     5530    }
     5531   
     5532    public event PropertyChangingEventHandler PropertyChanging;
     5533   
     5534    public event PropertyChangedEventHandler PropertyChanged;
     5535   
     5536    protected virtual void SendPropertyChanging()
     5537    {
     5538      if ((this.PropertyChanging != null))
     5539      {
     5540        this.PropertyChanging(this, emptyChangingEventArgs);
     5541      }
     5542    }
     5543   
     5544    protected virtual void SendPropertyChanged(String propertyName)
     5545    {
     5546      if ((this.PropertyChanged != null))
     5547      {
     5548        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     5549      }
     5550    }
     5551   
     5552    private void attach_FactTasks(FactTask entity)
     5553    {
     5554      this.SendPropertyChanging();
     5555      entity.DimJob = this;
     5556    }
     5557   
     5558    private void detach_FactTasks(FactTask entity)
     5559    {
     5560      this.SendPropertyChanging();
     5561      entity.DimJob = null;
     5562    }
     5563  }
     5564 
     5565  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].DimTime")]
     5566  public partial class DimTime : INotifyPropertyChanging, INotifyPropertyChanged
     5567  {
     5568   
     5569    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     5570   
     5571    private System.DateTime _Time;
     5572   
     5573    private System.DateTime _Hour;
     5574   
     5575    private System.DateTime _Day;
     5576   
     5577    private System.DateTime _Week;
     5578   
     5579    private System.DateTime _Month;
     5580   
     5581    private System.DateTime _Year;
     5582   
     5583    private EntitySet<FactTask> _FactTasks;
     5584   
     5585    private EntitySet<FactTask> _FactTasks1;
     5586   
     5587    private EntitySet<FactClientInfo> _FactClientInfos;
     5588   
     5589    #region Extensibility Method Definitions
     5590    partial void OnLoaded();
     5591    partial void OnValidate(System.Data.Linq.ChangeAction action);
     5592    partial void OnCreated();
     5593    partial void OnTimeChanging(System.DateTime value);
     5594    partial void OnTimeChanged();
     5595    partial void OnHourChanging(System.DateTime value);
     5596    partial void OnHourChanged();
     5597    partial void OnDayChanging(System.DateTime value);
     5598    partial void OnDayChanged();
     5599    partial void OnWeekChanging(System.DateTime value);
     5600    partial void OnWeekChanged();
     5601    partial void OnMonthChanging(System.DateTime value);
     5602    partial void OnMonthChanged();
     5603    partial void OnYearChanging(System.DateTime value);
     5604    partial void OnYearChanged();
     5605    #endregion
     5606   
     5607    public DimTime()
     5608    {
     5609      this._FactTasks = new EntitySet<FactTask>(new Action<FactTask>(this.attach_FactTasks), new Action<FactTask>(this.detach_FactTasks));
     5610      this._FactTasks1 = new EntitySet<FactTask>(new Action<FactTask>(this.attach_FactTasks1), new Action<FactTask>(this.detach_FactTasks1));
     5611      this._FactClientInfos = new EntitySet<FactClientInfo>(new Action<FactClientInfo>(this.attach_FactClientInfos), new Action<FactClientInfo>(this.detach_FactClientInfos));
     5612      OnCreated();
     5613    }
     5614   
     5615    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Time", DbType="DateTime NOT NULL", IsPrimaryKey=true)]
     5616    public System.DateTime Time
     5617    {
     5618      get
     5619      {
     5620        return this._Time;
     5621      }
     5622      set
     5623      {
     5624        if ((this._Time != value))
     5625        {
     5626          this.OnTimeChanging(value);
     5627          this.SendPropertyChanging();
     5628          this._Time = value;
     5629          this.SendPropertyChanged("Time");
     5630          this.OnTimeChanged();
     5631        }
     5632      }
     5633    }
     5634   
     5635    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Hour", DbType="DateTime NOT NULL")]
     5636    public System.DateTime Hour
     5637    {
     5638      get
     5639      {
     5640        return this._Hour;
     5641      }
     5642      set
     5643      {
     5644        if ((this._Hour != value))
     5645        {
     5646          this.OnHourChanging(value);
     5647          this.SendPropertyChanging();
     5648          this._Hour = value;
     5649          this.SendPropertyChanged("Hour");
     5650          this.OnHourChanged();
     5651        }
     5652      }
     5653    }
     5654   
     5655    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Day", DbType="Date NOT NULL")]
     5656    public System.DateTime Day
     5657    {
     5658      get
     5659      {
     5660        return this._Day;
     5661      }
     5662      set
     5663      {
     5664        if ((this._Day != value))
     5665        {
     5666          this.OnDayChanging(value);
     5667          this.SendPropertyChanging();
     5668          this._Day = value;
     5669          this.SendPropertyChanged("Day");
     5670          this.OnDayChanged();
     5671        }
     5672      }
     5673    }
     5674   
     5675    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Week", DbType="Date NOT NULL")]
     5676    public System.DateTime Week
     5677    {
     5678      get
     5679      {
     5680        return this._Week;
     5681      }
     5682      set
     5683      {
     5684        if ((this._Week != value))
     5685        {
     5686          this.OnWeekChanging(value);
     5687          this.SendPropertyChanging();
     5688          this._Week = value;
     5689          this.SendPropertyChanged("Week");
     5690          this.OnWeekChanged();
     5691        }
     5692      }
     5693    }
     5694   
     5695    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Month", DbType="Date NOT NULL")]
     5696    public System.DateTime Month
     5697    {
     5698      get
     5699      {
     5700        return this._Month;
     5701      }
     5702      set
     5703      {
     5704        if ((this._Month != value))
     5705        {
     5706          this.OnMonthChanging(value);
     5707          this.SendPropertyChanging();
     5708          this._Month = value;
     5709          this.SendPropertyChanged("Month");
     5710          this.OnMonthChanged();
     5711        }
     5712      }
     5713    }
     5714   
     5715    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Year", DbType="Date NOT NULL")]
     5716    public System.DateTime Year
     5717    {
     5718      get
     5719      {
     5720        return this._Year;
     5721      }
     5722      set
     5723      {
     5724        if ((this._Year != value))
     5725        {
     5726          this.OnYearChanging(value);
     5727          this.SendPropertyChanging();
     5728          this._Year = value;
     5729          this.SendPropertyChanged("Year");
     5730          this.OnYearChanged();
     5731        }
     5732      }
     5733    }
     5734   
     5735    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactTask", Storage="_FactTasks", ThisKey="Time", OtherKey="EndTime")]
     5736    public EntitySet<FactTask> FactTasks
     5737    {
     5738      get
     5739      {
     5740        return this._FactTasks;
     5741      }
     5742      set
     5743      {
     5744        this._FactTasks.Assign(value);
     5745      }
     5746    }
     5747   
     5748    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactTask1", Storage="_FactTasks1", ThisKey="Time", OtherKey="StartTime")]
     5749    public EntitySet<FactTask> FactTasks1
     5750    {
     5751      get
     5752      {
     5753        return this._FactTasks1;
     5754      }
     5755      set
     5756      {
     5757        this._FactTasks1.Assign(value);
     5758      }
     5759    }
     5760   
     5761    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactClientInfo", Storage="_FactClientInfos", ThisKey="Time", OtherKey="Time")]
     5762    public EntitySet<FactClientInfo> FactClientInfos
     5763    {
     5764      get
     5765      {
     5766        return this._FactClientInfos;
     5767      }
     5768      set
     5769      {
     5770        this._FactClientInfos.Assign(value);
     5771      }
     5772    }
     5773   
     5774    public event PropertyChangingEventHandler PropertyChanging;
     5775   
     5776    public event PropertyChangedEventHandler PropertyChanged;
     5777   
     5778    protected virtual void SendPropertyChanging()
     5779    {
     5780      if ((this.PropertyChanging != null))
     5781      {
     5782        this.PropertyChanging(this, emptyChangingEventArgs);
     5783      }
     5784    }
     5785   
     5786    protected virtual void SendPropertyChanged(String propertyName)
     5787    {
     5788      if ((this.PropertyChanged != null))
     5789      {
     5790        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     5791      }
     5792    }
     5793   
     5794    private void attach_FactTasks(FactTask entity)
     5795    {
     5796      this.SendPropertyChanging();
     5797      entity.DimTime = this;
     5798    }
     5799   
     5800    private void detach_FactTasks(FactTask entity)
     5801    {
     5802      this.SendPropertyChanging();
     5803      entity.DimTime = null;
     5804    }
     5805   
     5806    private void attach_FactTasks1(FactTask entity)
     5807    {
     5808      this.SendPropertyChanging();
     5809      entity.DimTime1 = this;
     5810    }
     5811   
     5812    private void detach_FactTasks1(FactTask entity)
     5813    {
     5814      this.SendPropertyChanging();
     5815      entity.DimTime1 = null;
     5816    }
     5817   
     5818    private void attach_FactClientInfos(FactClientInfo entity)
     5819    {
     5820      this.SendPropertyChanging();
     5821      entity.DimTime = this;
     5822    }
     5823   
     5824    private void detach_FactClientInfos(FactClientInfo entity)
     5825    {
     5826      this.SendPropertyChanging();
     5827      entity.DimTime = null;
     5828    }
     5829  }
     5830 
     5831  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].DimUser")]
     5832  public partial class DimUser : INotifyPropertyChanging, INotifyPropertyChanged
     5833  {
     5834   
     5835    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     5836   
     5837    private System.Guid _UserId;
     5838   
     5839    private string _Name;
     5840   
     5841    private EntitySet<FactClientInfo> _FactClientInfos;
     5842   
     5843    #region Extensibility Method Definitions
     5844    partial void OnLoaded();
     5845    partial void OnValidate(System.Data.Linq.ChangeAction action);
     5846    partial void OnCreated();
     5847    partial void OnUserIdChanging(System.Guid value);
     5848    partial void OnUserIdChanged();
     5849    partial void OnNameChanging(string value);
     5850    partial void OnNameChanged();
     5851    #endregion
     5852   
     5853    public DimUser()
     5854    {
     5855      this._FactClientInfos = new EntitySet<FactClientInfo>(new Action<FactClientInfo>(this.attach_FactClientInfos), new Action<FactClientInfo>(this.detach_FactClientInfos));
     5856      OnCreated();
     5857    }
     5858   
     5859    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     5860    public System.Guid UserId
     5861    {
     5862      get
     5863      {
     5864        return this._UserId;
     5865      }
     5866      set
     5867      {
     5868        if ((this._UserId != value))
     5869        {
     5870          this.OnUserIdChanging(value);
     5871          this.SendPropertyChanging();
     5872          this._UserId = value;
     5873          this.SendPropertyChanged("UserId");
     5874          this.OnUserIdChanged();
     5875        }
     5876      }
     5877    }
     5878   
     5879    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX) NOT NULL", CanBeNull=false)]
     5880    public string Name
     5881    {
     5882      get
     5883      {
     5884        return this._Name;
     5885      }
     5886      set
     5887      {
     5888        if ((this._Name != value))
     5889        {
     5890          this.OnNameChanging(value);
     5891          this.SendPropertyChanging();
     5892          this._Name = value;
     5893          this.SendPropertyChanged("Name");
     5894          this.OnNameChanged();
     5895        }
     5896      }
     5897    }
     5898   
     5899    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimUser_FactClientInfo", Storage="_FactClientInfos", ThisKey="UserId", OtherKey="UserId")]
     5900    public EntitySet<FactClientInfo> FactClientInfos
     5901    {
     5902      get
     5903      {
     5904        return this._FactClientInfos;
     5905      }
     5906      set
     5907      {
     5908        this._FactClientInfos.Assign(value);
     5909      }
     5910    }
     5911   
     5912    public event PropertyChangingEventHandler PropertyChanging;
     5913   
     5914    public event PropertyChangedEventHandler PropertyChanged;
     5915   
     5916    protected virtual void SendPropertyChanging()
     5917    {
     5918      if ((this.PropertyChanging != null))
     5919      {
     5920        this.PropertyChanging(this, emptyChangingEventArgs);
     5921      }
     5922    }
     5923   
     5924    protected virtual void SendPropertyChanged(String propertyName)
     5925    {
     5926      if ((this.PropertyChanged != null))
     5927      {
     5928        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     5929      }
     5930    }
     5931   
     5932    private void attach_FactClientInfos(FactClientInfo entity)
     5933    {
     5934      this.SendPropertyChanging();
     5935      entity.DimUser = this;
     5936    }
     5937   
     5938    private void detach_FactClientInfos(FactClientInfo entity)
     5939    {
     5940      this.SendPropertyChanging();
     5941      entity.DimUser = null;
     5942    }
     5943  }
     5944 
     5945  [global::System.Data.Linq.Mapping.TableAttribute(Name="[statistics].FactClientInfo")]
     5946  public partial class FactClientInfo : INotifyPropertyChanging, INotifyPropertyChanged
     5947  {
     5948   
     5949    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
     5950   
     5951    private System.Guid _ClientId;
     5952   
     5953    private System.DateTime _Time;
     5954   
     5955    private System.Guid _UserId;
     5956   
     5957    private int _NumUsedCores;
     5958   
     5959    private int _NumTotalCores;
     5960   
     5961    private int _UsedMemory;
     5962   
     5963    private int _TotalMemory;
     5964   
     5965    private double _CpuUtilization;
     5966   
     5967    private int _TrafficIn;
     5968   
     5969    private int _TrafficOut;
     5970   
     5971    private double _TotalTimeIdle;
     5972   
     5973    private double _TotalTimeCalculating;
     5974   
     5975    private double _TotalTimeTransferring;
     5976   
     5977    private double _TotalTimeOffline;
     5978   
     5979    private double _TotalTimeUnavailable;
     5980   
     5981    private EntityRef<DimClient> _DimClient;
     5982   
     5983    private EntityRef<DimTime> _DimTime;
     5984   
     5985    private EntityRef<DimUser> _DimUser;
     5986   
     5987    #region Extensibility Method Definitions
     5988    partial void OnLoaded();
     5989    partial void OnValidate(System.Data.Linq.ChangeAction action);
     5990    partial void OnCreated();
     5991    partial void OnClientIdChanging(System.Guid value);
     5992    partial void OnClientIdChanged();
     5993    partial void OnTimeChanging(System.DateTime value);
     5994    partial void OnTimeChanged();
     5995    partial void OnUserIdChanging(System.Guid value);
     5996    partial void OnUserIdChanged();
     5997    partial void OnNumUsedCoresChanging(int value);
     5998    partial void OnNumUsedCoresChanged();
     5999    partial void OnNumTotalCoresChanging(int value);
     6000    partial void OnNumTotalCoresChanged();
     6001    partial void OnUsedMemoryChanging(int value);
     6002    partial void OnUsedMemoryChanged();
     6003    partial void OnTotalMemoryChanging(int value);
     6004    partial void OnTotalMemoryChanged();
     6005    partial void OnCpuUtilizationChanging(double value);
     6006    partial void OnCpuUtilizationChanged();
     6007    partial void OnTrafficInChanging(int value);
     6008    partial void OnTrafficInChanged();
     6009    partial void OnTrafficOutChanging(int value);
     6010    partial void OnTrafficOutChanged();
     6011    partial void OnTotalTimeIdleChanging(double value);
     6012    partial void OnTotalTimeIdleChanged();
     6013    partial void OnTotalTimeCalculatingChanging(double value);
     6014    partial void OnTotalTimeCalculatingChanged();
     6015    partial void OnTotalTimeTransferringChanging(double value);
     6016    partial void OnTotalTimeTransferringChanged();
     6017    partial void OnTotalTimeOfflineChanging(double value);
     6018    partial void OnTotalTimeOfflineChanged();
     6019    partial void OnTotalTimeUnavailableChanging(double value);
     6020    partial void OnTotalTimeUnavailableChanged();
     6021    #endregion
     6022   
     6023    public FactClientInfo()
     6024    {
     6025      this._DimClient = default(EntityRef<DimClient>);
     6026      this._DimTime = default(EntityRef<DimTime>);
     6027      this._DimUser = default(EntityRef<DimUser>);
     6028      OnCreated();
     6029    }
     6030   
     6031    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClientId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     6032    public System.Guid ClientId
     6033    {
     6034      get
     6035      {
     6036        return this._ClientId;
     6037      }
     6038      set
     6039      {
     6040        if ((this._ClientId != value))
     6041        {
     6042          if (this._DimClient.HasLoadedOrAssignedValue)
     6043          {
     6044            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     6045          }
     6046          this.OnClientIdChanging(value);
     6047          this.SendPropertyChanging();
     6048          this._ClientId = value;
     6049          this.SendPropertyChanged("ClientId");
     6050          this.OnClientIdChanged();
     6051        }
     6052      }
     6053    }
     6054   
     6055    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Time", DbType="DateTime NOT NULL", IsPrimaryKey=true)]
     6056    public System.DateTime Time
     6057    {
     6058      get
     6059      {
     6060        return this._Time;
     6061      }
     6062      set
     6063      {
     6064        if ((this._Time != value))
     6065        {
     6066          if (this._DimTime.HasLoadedOrAssignedValue)
     6067          {
     6068            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     6069          }
     6070          this.OnTimeChanging(value);
     6071          this.SendPropertyChanging();
     6072          this._Time = value;
     6073          this.SendPropertyChanged("Time");
     6074          this.OnTimeChanged();
     6075        }
     6076      }
     6077    }
     6078   
     6079    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
     6080    public System.Guid UserId
     6081    {
     6082      get
     6083      {
     6084        return this._UserId;
     6085      }
     6086      set
     6087      {
     6088        if ((this._UserId != value))
     6089        {
     6090          if (this._DimUser.HasLoadedOrAssignedValue)
     6091          {
     6092            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
     6093          }
     6094          this.OnUserIdChanging(value);
     6095          this.SendPropertyChanging();
     6096          this._UserId = value;
     6097          this.SendPropertyChanged("UserId");
     6098          this.OnUserIdChanged();
     6099        }
     6100      }
     6101    }
     6102   
     6103    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumUsedCores", DbType="Int NOT NULL")]
     6104    public int NumUsedCores
     6105    {
     6106      get
     6107      {
     6108        return this._NumUsedCores;
     6109      }
     6110      set
     6111      {
     6112        if ((this._NumUsedCores != value))
     6113        {
     6114          this.OnNumUsedCoresChanging(value);
     6115          this.SendPropertyChanging();
     6116          this._NumUsedCores = value;
     6117          this.SendPropertyChanged("NumUsedCores");
     6118          this.OnNumUsedCoresChanged();
     6119        }
     6120      }
     6121    }
     6122   
     6123    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumTotalCores", DbType="Int NOT NULL")]
     6124    public int NumTotalCores
     6125    {
     6126      get
     6127      {
     6128        return this._NumTotalCores;
     6129      }
     6130      set
     6131      {
     6132        if ((this._NumTotalCores != value))
     6133        {
     6134          this.OnNumTotalCoresChanging(value);
     6135          this.SendPropertyChanging();
     6136          this._NumTotalCores = value;
     6137          this.SendPropertyChanged("NumTotalCores");
     6138          this.OnNumTotalCoresChanged();
     6139        }
     6140      }
     6141    }
     6142   
     6143    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UsedMemory", DbType="Int NOT NULL")]
     6144    public int UsedMemory
     6145    {
     6146      get
     6147      {
     6148        return this._UsedMemory;
     6149      }
     6150      set
     6151      {
     6152        if ((this._UsedMemory != value))
     6153        {
     6154          this.OnUsedMemoryChanging(value);
     6155          this.SendPropertyChanging();
     6156          this._UsedMemory = value;
     6157          this.SendPropertyChanged("UsedMemory");
     6158          this.OnUsedMemoryChanged();
     6159        }
     6160      }
     6161    }
     6162   
     6163    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalMemory", DbType="Int NOT NULL")]
     6164    public int TotalMemory
     6165    {
     6166      get
     6167      {
     6168        return this._TotalMemory;
     6169      }
     6170      set
     6171      {
     6172        if ((this._TotalMemory != value))
     6173        {
     6174          this.OnTotalMemoryChanging(value);
     6175          this.SendPropertyChanging();
     6176          this._TotalMemory = value;
     6177          this.SendPropertyChanged("TotalMemory");
     6178          this.OnTotalMemoryChanged();
     6179        }
     6180      }
     6181    }
     6182   
     6183    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CpuUtilization", DbType="Float NOT NULL")]
     6184    public double CpuUtilization
     6185    {
     6186      get
     6187      {
     6188        return this._CpuUtilization;
     6189      }
     6190      set
     6191      {
     6192        if ((this._CpuUtilization != value))
     6193        {
     6194          this.OnCpuUtilizationChanging(value);
     6195          this.SendPropertyChanging();
     6196          this._CpuUtilization = value;
     6197          this.SendPropertyChanged("CpuUtilization");
     6198          this.OnCpuUtilizationChanged();
     6199        }
     6200      }
     6201    }
     6202   
     6203    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrafficIn", DbType="Int NOT NULL")]
     6204    public int TrafficIn
     6205    {
     6206      get
     6207      {
     6208        return this._TrafficIn;
     6209      }
     6210      set
     6211      {
     6212        if ((this._TrafficIn != value))
     6213        {
     6214          this.OnTrafficInChanging(value);
     6215          this.SendPropertyChanging();
     6216          this._TrafficIn = value;
     6217          this.SendPropertyChanged("TrafficIn");
     6218          this.OnTrafficInChanged();
     6219        }
     6220      }
     6221    }
     6222   
     6223    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrafficOut", DbType="Int NOT NULL")]
     6224    public int TrafficOut
     6225    {
     6226      get
     6227      {
     6228        return this._TrafficOut;
     6229      }
     6230      set
     6231      {
     6232        if ((this._TrafficOut != value))
     6233        {
     6234          this.OnTrafficOutChanging(value);
     6235          this.SendPropertyChanging();
     6236          this._TrafficOut = value;
     6237          this.SendPropertyChanged("TrafficOut");
     6238          this.OnTrafficOutChanged();
     6239        }
     6240      }
     6241    }
     6242   
     6243    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTimeIdle", DbType="Float NOT NULL")]
     6244    public double TotalTimeIdle
     6245    {
     6246      get
     6247      {
     6248        return this._TotalTimeIdle;
     6249      }
     6250      set
     6251      {
     6252        if ((this._TotalTimeIdle != value))
     6253        {
     6254          this.OnTotalTimeIdleChanging(value);
     6255          this.SendPropertyChanging();
     6256          this._TotalTimeIdle = value;
     6257          this.SendPropertyChanged("TotalTimeIdle");
     6258          this.OnTotalTimeIdleChanged();
     6259        }
     6260      }
     6261    }
     6262   
     6263    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTimeCalculating", DbType="Float NOT NULL")]
     6264    public double TotalTimeCalculating
     6265    {
     6266      get
     6267      {
     6268        return this._TotalTimeCalculating;
     6269      }
     6270      set
     6271      {
     6272        if ((this._TotalTimeCalculating != value))
     6273        {
     6274          this.OnTotalTimeCalculatingChanging(value);
     6275          this.SendPropertyChanging();
     6276          this._TotalTimeCalculating = value;
     6277          this.SendPropertyChanged("TotalTimeCalculating");
     6278          this.OnTotalTimeCalculatingChanged();
     6279        }
     6280      }
     6281    }
     6282   
     6283    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTimeTransferring", DbType="Float NOT NULL")]
     6284    public double TotalTimeTransferring
     6285    {
     6286      get
     6287      {
     6288        return this._TotalTimeTransferring;
     6289      }
     6290      set
     6291      {
     6292        if ((this._TotalTimeTransferring != value))
     6293        {
     6294          this.OnTotalTimeTransferringChanging(value);
     6295          this.SendPropertyChanging();
     6296          this._TotalTimeTransferring = value;
     6297          this.SendPropertyChanged("TotalTimeTransferring");
     6298          this.OnTotalTimeTransferringChanged();
     6299        }
     6300      }
     6301    }
     6302   
     6303    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTimeOffline", DbType="Float NOT NULL")]
     6304    public double TotalTimeOffline
     6305    {
     6306      get
     6307      {
     6308        return this._TotalTimeOffline;
     6309      }
     6310      set
     6311      {
     6312        if ((this._TotalTimeOffline != value))
     6313        {
     6314          this.OnTotalTimeOfflineChanging(value);
     6315          this.SendPropertyChanging();
     6316          this._TotalTimeOffline = value;
     6317          this.SendPropertyChanged("TotalTimeOffline");
     6318          this.OnTotalTimeOfflineChanged();
     6319        }
     6320      }
     6321    }
     6322   
     6323    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalTimeUnavailable", DbType="Float NOT NULL")]
     6324    public double TotalTimeUnavailable
     6325    {
     6326      get
     6327      {
     6328        return this._TotalTimeUnavailable;
     6329      }
     6330      set
     6331      {
     6332        if ((this._TotalTimeUnavailable != value))
     6333        {
     6334          this.OnTotalTimeUnavailableChanging(value);
     6335          this.SendPropertyChanging();
     6336          this._TotalTimeUnavailable = value;
     6337          this.SendPropertyChanged("TotalTimeUnavailable");
     6338          this.OnTotalTimeUnavailableChanged();
     6339        }
     6340      }
     6341    }
     6342   
     6343    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimClient_FactClientInfo", Storage="_DimClient", ThisKey="ClientId", OtherKey="Id", IsForeignKey=true)]
     6344    public DimClient DimClient
     6345    {
     6346      get
     6347      {
     6348        return this._DimClient.Entity;
     6349      }
     6350      set
     6351      {
     6352        DimClient previousValue = this._DimClient.Entity;
     6353        if (((previousValue != value)
     6354              || (this._DimClient.HasLoadedOrAssignedValue == false)))
     6355        {
     6356          this.SendPropertyChanging();
     6357          if ((previousValue != null))
     6358          {
     6359            this._DimClient.Entity = null;
     6360            previousValue.FactClientInfos.Remove(this);
     6361          }
     6362          this._DimClient.Entity = value;
     6363          if ((value != null))
     6364          {
     6365            value.FactClientInfos.Add(this);
     6366            this._ClientId = value.Id;
     6367          }
     6368          else
     6369          {
     6370            this._ClientId = default(System.Guid);
     6371          }
     6372          this.SendPropertyChanged("DimClient");
     6373        }
     6374      }
     6375    }
     6376   
     6377    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimTime_FactClientInfo", Storage="_DimTime", ThisKey="Time", OtherKey="Time", IsForeignKey=true)]
     6378    public DimTime DimTime
     6379    {
     6380      get
     6381      {
     6382        return this._DimTime.Entity;
     6383      }
     6384      set
     6385      {
     6386        DimTime previousValue = this._DimTime.Entity;
     6387        if (((previousValue != value)
     6388              || (this._DimTime.HasLoadedOrAssignedValue == false)))
     6389        {
     6390          this.SendPropertyChanging();
     6391          if ((previousValue != null))
     6392          {
     6393            this._DimTime.Entity = null;
     6394            previousValue.FactClientInfos.Remove(this);
     6395          }
     6396          this._DimTime.Entity = value;
     6397          if ((value != null))
     6398          {
     6399            value.FactClientInfos.Add(this);
     6400            this._Time = value.Time;
     6401          }
     6402          else
     6403          {
     6404            this._Time = default(System.DateTime);
     6405          }
     6406          this.SendPropertyChanged("DimTime");
     6407        }
     6408      }
     6409    }
     6410   
     6411    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="DimUser_FactClientInfo", Storage="_DimUser", ThisKey="UserId", OtherKey="UserId", IsForeignKey=true)]
     6412    public DimUser DimUser
     6413    {
     6414      get
     6415      {
     6416        return this._DimUser.Entity;
     6417      }
     6418      set
     6419      {
     6420        DimUser previousValue = this._DimUser.Entity;
     6421        if (((previousValue != value)
     6422              || (this._DimUser.HasLoadedOrAssignedValue == false)))
     6423        {
     6424          this.SendPropertyChanging();
     6425          if ((previousValue != null))
     6426          {
     6427            this._DimUser.Entity = null;
     6428            previousValue.FactClientInfos.Remove(this);
     6429          }
     6430          this._DimUser.Entity = value;
     6431          if ((value != null))
     6432          {
     6433            value.FactClientInfos.Add(this);
     6434            this._UserId = value.UserId;
     6435          }
     6436          else
     6437          {
     6438            this._UserId = default(System.Guid);
     6439          }
     6440          this.SendPropertyChanged("DimUser");
     6441        }
     6442      }
     6443    }
     6444   
     6445    public event PropertyChangingEventHandler PropertyChanging;
     6446   
     6447    public event PropertyChangedEventHandler PropertyChanged;
     6448   
     6449    protected virtual void SendPropertyChanging()
     6450    {
     6451      if ((this.PropertyChanging != null))
     6452      {
     6453        this.PropertyChanging(this, emptyChangingEventArgs);
     6454      }
     6455    }
     6456   
     6457    protected virtual void SendPropertyChanged(String propertyName)
     6458    {
     6459      if ((this.PropertyChanged != null))
     6460      {
     6461        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     6462      }
     6463    }
     6464  }
    45366465}
    45376466#pragma warning restore 1591
  • branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql

    r9492 r9524  
    196196ALTER TABLE [SlaveStatistics]
    197197  ADD CONSTRAINT [Statistics_SlaveStatistics] FOREIGN KEY ([StatisticsId]) REFERENCES [Statistics]([StatisticsId])
     198
     199GO
     200CREATE SCHEMA [statistics]
     201GO
     202
     203CREATE TABLE [statistics].[DimTime] (
     204    [Time]  DATETIME NOT NULL,
     205    [Hour]  DATETIME NOT NULL,
     206    [Day]   DATE     NOT NULL,
     207    [Week]  DATE     NOT NULL,
     208    [Month] DATE     NOT NULL,
     209    [Year]  DATE     NOT NULL,
     210    CONSTRAINT [PK_DimTime] PRIMARY KEY CLUSTERED ([Time] ASC)
     211);
     212CREATE TABLE [statistics].[DimClient] (
     213    [Id]               UNIQUEIDENTIFIER CONSTRAINT [DF_DimClient_Id] DEFAULT (newsequentialid()) NOT NULL,
     214    [Name]             VARCHAR (MAX)    NOT NULL,
     215    [ResourceId]       UNIQUEIDENTIFIER NOT NULL,
     216    [ExpirationTime]   DATETIME         NULL,
     217    [ResourceGroupId]  UNIQUEIDENTIFIER NULL,
     218    [ResourceGroup2Id] UNIQUEIDENTIFIER NULL,
     219    CONSTRAINT [PK_DimClient] PRIMARY KEY CLUSTERED ([Id] ASC)
     220);
     221CREATE TABLE [statistics].[DimJob] (
     222    [JobId]    UNIQUEIDENTIFIER NOT NULL,
     223    [UserId]   UNIQUEIDENTIFIER NOT NULL,
     224    [JobName]  VARCHAR (MAX)    NOT NULL,
     225    [UserName] VARCHAR (MAX)    NOT NULL,
     226    CONSTRAINT [PK_DimJob] PRIMARY KEY CLUSTERED ([JobId] ASC)
     227);
     228CREATE TABLE [statistics].[DimUser] (
     229    [UserId] UNIQUEIDENTIFIER NOT NULL,
     230    [Name]   VARCHAR (MAX)    NOT NULL,
     231    CONSTRAINT [PK_DimUser] PRIMARY KEY CLUSTERED ([UserId] ASC)
     232);
     233CREATE TABLE [statistics].[FactClientInfo] (
     234    [ClientId]              UNIQUEIDENTIFIER NOT NULL,
     235    [Time]                  DATETIME         NOT NULL,
     236    [UserId]                UNIQUEIDENTIFIER NOT NULL,
     237    [NumUsedCores]          INT              NOT NULL,
     238    [NumTotalCores]         INT              NOT NULL,
     239    [UsedMemory]            INT              NOT NULL,
     240    [TotalMemory]           INT              NOT NULL,
     241    [CpuUtilization]        FLOAT (53)       NOT NULL,
     242    [TrafficIn]             INT              NOT NULL,
     243    [TrafficOut]            INT              NOT NULL,
     244    [TotalTimeIdle]         FLOAT (53)       NOT NULL,
     245    [TotalTimeCalculating]  FLOAT (53)       NOT NULL,
     246    [TotalTimeTransferring] FLOAT (53)       NOT NULL,
     247    [TotalTimeOffline]      FLOAT (53)       NOT NULL,
     248    [TotalTimeUnavailable]  FLOAT (53)       NOT NULL,
     249    CONSTRAINT [PK_FactClientInfo] PRIMARY KEY CLUSTERED ([ClientId] ASC, [Time] ASC, [UserId] ASC),
     250    CONSTRAINT [FK_FactClientInfo_DimTime] FOREIGN KEY ([Time]) REFERENCES [statistics].[DimTime] ([Time]),
     251    CONSTRAINT [FK_FactClientInfo_DimClient] FOREIGN KEY ([ClientId]) REFERENCES [statistics].[DimClient] ([Id]),
     252    CONSTRAINT [FK_FactClientInfo_DimUser] FOREIGN KEY ([UserId]) REFERENCES [statistics].[DimUser] ([UserId])
     253);
     254CREATE TABLE [statistics].[FactTask] (
     255    [TaskId]             UNIQUEIDENTIFIER NOT NULL,
     256    [TotalRuntime]       FLOAT (53)       NOT NULL,
     257    [TotalWaitingTime]   FLOAT (53)       NOT NULL,
     258    [TotalTransferTime]  FLOAT (53)       NOT NULL,
     259    [NumCalculationRuns] INT              NOT NULL,
     260    [NumFails]           INT              NOT NULL,
     261    [CoresRequired]      INT              NOT NULL,
     262    [MemoryRequired]     INT              NOT NULL,
     263    [TaskSize]           INT              NOT NULL,
     264    [ResultSize]         INT              NULL,
     265    [Priority]           INT              NOT NULL,
     266    [LastClientId]       UNIQUEIDENTIFIER NOT NULL,
     267    [JobId]              UNIQUEIDENTIFIER NOT NULL,
     268    [StartTime]          DATETIME         NOT NULL,
     269    [EndTime]            DATETIME         NOT NULL,
     270    CONSTRAINT [PK_FactTask] PRIMARY KEY CLUSTERED ([LastClientId] ASC, [JobId] ASC, [StartTime] ASC, [EndTime] ASC),
     271    CONSTRAINT [FK_FactTask_DimClient] FOREIGN KEY ([LastClientId]) REFERENCES [statistics].[DimClient] ([Id]),
     272    CONSTRAINT [FK_FactTask_DimJob] FOREIGN KEY ([JobId]) REFERENCES [statistics].[DimJob] ([JobId]),
     273    CONSTRAINT [FK_FactTask_DimTimeStart] FOREIGN KEY ([StartTime]) REFERENCES [statistics].[DimTime] ([Time]),
     274    CONSTRAINT [FK_FactTask_DimTimeEnd] FOREIGN KEY ([EndTime]) REFERENCES [statistics].[DimTime] ([Time])
     275);
Note: See TracChangeset for help on using the changeset viewer.