Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Hive-3.3/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/HiveDataContext.cs @ 5179

Last change on this file since 5179 was 5179, checked in by cneumuel, 14 years ago

#1260

  • migrated to .NET 4.0
  • moved state-information about heartbeat timestamps into DB to reduce IIS-recycling issues
  • optimized memory usage of ExperimentManager when lots of large jobs are downloaded
File size: 82.0 KB
Line 
1#pragma warning disable 1591
2//------------------------------------------------------------------------------
3// <auto-generated>
4//     This code was generated by a tool.
5//     Runtime Version:4.0.30319.1
6//
7//     Changes to this file may cause incorrect behavior and will be lost if
8//     the code is regenerated.
9// </auto-generated>
10//------------------------------------------------------------------------------
11
12namespace HeuristicLab.Hive.Server.LINQDataAccess
13{
14  using System.Data.Linq;
15  using System.Data.Linq.Mapping;
16  using System.Data;
17  using System.Collections.Generic;
18  using System.Reflection;
19  using System.Linq;
20  using System.Linq.Expressions;
21  using System.ComponentModel;
22  using System;
23 
24 
25  [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="HeuristicLab.Hive")]
26  public partial class HiveDataContext : System.Data.Linq.DataContext
27  {
28   
29    private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
30   
31    #region Extensibility Method Definitions
32    partial void OnCreated();
33    partial void InsertAssignedResource(AssignedResource instance);
34    partial void UpdateAssignedResource(AssignedResource instance);
35    partial void DeleteAssignedResource(AssignedResource instance);
36    partial void InsertUptimeStatistic(UptimeStatistic instance);
37    partial void UpdateUptimeStatistic(UptimeStatistic instance);
38    partial void DeleteUptimeStatistic(UptimeStatistic instance);
39    partial void InsertSlaveConfig(SlaveConfig instance);
40    partial void UpdateSlaveConfig(SlaveConfig instance);
41    partial void DeleteSlaveConfig(SlaveConfig instance);
42    partial void InsertSlaveGroup_Resource(SlaveGroup_Resource instance);
43    partial void UpdateSlaveGroup_Resource(SlaveGroup_Resource instance);
44    partial void DeleteSlaveGroup_Resource(SlaveGroup_Resource instance);
45    partial void InsertPluginInfo(PluginInfo instance);
46    partial void UpdatePluginInfo(PluginInfo instance);
47    partial void DeletePluginInfo(PluginInfo instance);
48    partial void InsertProject(Project instance);
49    partial void UpdateProject(Project instance);
50    partial void DeleteProject(Project instance);
51    partial void InsertRequiredPlugin(RequiredPlugin instance);
52    partial void UpdateRequiredPlugin(RequiredPlugin instance);
53    partial void DeleteRequiredPlugin(RequiredPlugin instance);
54    partial void InsertResource(Resource instance);
55    partial void UpdateResource(Resource instance);
56    partial void DeleteResource(Resource instance);
57    partial void InsertJob(Job instance);
58    partial void UpdateJob(Job instance);
59    partial void DeleteJob(Job instance);
60    partial void InsertUptimeCalendar(UptimeCalendar instance);
61    partial void UpdateUptimeCalendar(UptimeCalendar instance);
62    partial void DeleteUptimeCalendar(UptimeCalendar instance);
63    partial void InsertHiveExperiment(HiveExperiment instance);
64    partial void UpdateHiveExperiment(HiveExperiment instance);
65    partial void DeleteHiveExperiment(HiveExperiment instance);
66    #endregion
67   
68    public HiveDataContext(string connection) :
69        base(connection, mappingSource)
70    {
71      OnCreated();
72    }
73   
74    public HiveDataContext(System.Data.IDbConnection connection) :
75        base(connection, mappingSource)
76    {
77      OnCreated();
78    }
79   
80    public HiveDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
81        base(connection, mappingSource)
82    {
83      OnCreated();
84    }
85   
86    public HiveDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
87        base(connection, mappingSource)
88    {
89      OnCreated();
90    }
91   
92    public System.Data.Linq.Table<AssignedResource> AssignedResources
93    {
94      get
95      {
96        return this.GetTable<AssignedResource>();
97      }
98    }
99   
100    public System.Data.Linq.Table<UptimeStatistic> UptimeStatistics
101    {
102      get
103      {
104        return this.GetTable<UptimeStatistic>();
105      }
106    }
107   
108    public System.Data.Linq.Table<SlaveConfig> SlaveConfigs
109    {
110      get
111      {
112        return this.GetTable<SlaveConfig>();
113      }
114    }
115   
116    public System.Data.Linq.Table<SlaveGroup_Resource> SlaveGroup_Resources
117    {
118      get
119      {
120        return this.GetTable<SlaveGroup_Resource>();
121      }
122    }
123   
124    public System.Data.Linq.Table<PluginInfo> PluginInfos
125    {
126      get
127      {
128        return this.GetTable<PluginInfo>();
129      }
130    }
131   
132    public System.Data.Linq.Table<Project> Projects
133    {
134      get
135      {
136        return this.GetTable<Project>();
137      }
138    }
139   
140    public System.Data.Linq.Table<RequiredPlugin> RequiredPlugins
141    {
142      get
143      {
144        return this.GetTable<RequiredPlugin>();
145      }
146    }
147   
148    public System.Data.Linq.Table<Resource> Resources
149    {
150      get
151      {
152        return this.GetTable<Resource>();
153      }
154    }
155   
156    public System.Data.Linq.Table<Job> Jobs
157    {
158      get
159      {
160        return this.GetTable<Job>();
161      }
162    }
163   
164    public System.Data.Linq.Table<UptimeCalendar> UptimeCalendars
165    {
166      get
167      {
168        return this.GetTable<UptimeCalendar>();
169      }
170    }
171   
172    public System.Data.Linq.Table<HiveExperiment> HiveExperiments
173    {
174      get
175      {
176        return this.GetTable<HiveExperiment>();
177      }
178    }
179  }
180 
181  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.AssignedResources")]
182  public partial class AssignedResource : INotifyPropertyChanging, INotifyPropertyChanged
183  {
184   
185    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
186   
187    private System.Guid _ResourceId;
188   
189    private System.Guid _JobId;
190   
191    private System.Guid _AssignedRessourcesId;
192   
193    private EntityRef<Resource> _Resource;
194   
195    private EntityRef<Job> _Job;
196   
197    #region Extensibility Method Definitions
198    partial void OnLoaded();
199    partial void OnValidate(System.Data.Linq.ChangeAction action);
200    partial void OnCreated();
201    partial void OnResourceIdChanging(System.Guid value);
202    partial void OnResourceIdChanged();
203    partial void OnJobIdChanging(System.Guid value);
204    partial void OnJobIdChanged();
205    partial void OnAssignedRessourcesIdChanging(System.Guid value);
206    partial void OnAssignedRessourcesIdChanged();
207    #endregion
208   
209    public AssignedResource()
210    {
211      this._Resource = default(EntityRef<Resource>);
212      this._Job = default(EntityRef<Job>);
213      OnCreated();
214    }
215   
216    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
217    public System.Guid ResourceId
218    {
219      get
220      {
221        return this._ResourceId;
222      }
223      set
224      {
225        if ((this._ResourceId != value))
226        {
227          if (this._Resource.HasLoadedOrAssignedValue)
228          {
229            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
230          }
231          this.OnResourceIdChanging(value);
232          this.SendPropertyChanging();
233          this._ResourceId = value;
234          this.SendPropertyChanged("ResourceId");
235          this.OnResourceIdChanged();
236        }
237      }
238    }
239   
240    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL")]
241    public System.Guid JobId
242    {
243      get
244      {
245        return this._JobId;
246      }
247      set
248      {
249        if ((this._JobId != value))
250        {
251          if (this._Job.HasLoadedOrAssignedValue)
252          {
253            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
254          }
255          this.OnJobIdChanging(value);
256          this.SendPropertyChanging();
257          this._JobId = value;
258          this.SendPropertyChanged("JobId");
259          this.OnJobIdChanged();
260        }
261      }
262    }
263   
264    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AssignedRessourcesId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
265    public System.Guid AssignedRessourcesId
266    {
267      get
268      {
269        return this._AssignedRessourcesId;
270      }
271      set
272      {
273        if ((this._AssignedRessourcesId != value))
274        {
275          this.OnAssignedRessourcesIdChanging(value);
276          this.SendPropertyChanging();
277          this._AssignedRessourcesId = value;
278          this.SendPropertyChanged("AssignedRessourcesId");
279          this.OnAssignedRessourcesIdChanged();
280        }
281      }
282    }
283   
284    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")]
285    public Resource Resource
286    {
287      get
288      {
289        return this._Resource.Entity;
290      }
291      set
292      {
293        Resource previousValue = this._Resource.Entity;
294        if (((previousValue != value)
295              || (this._Resource.HasLoadedOrAssignedValue == false)))
296        {
297          this.SendPropertyChanging();
298          if ((previousValue != null))
299          {
300            this._Resource.Entity = null;
301            previousValue.AssignedResources.Remove(this);
302          }
303          this._Resource.Entity = value;
304          if ((value != null))
305          {
306            value.AssignedResources.Add(this);
307            this._ResourceId = value.ResourceId;
308          }
309          else
310          {
311            this._ResourceId = default(System.Guid);
312          }
313          this.SendPropertyChanged("Resource");
314        }
315      }
316    }
317   
318    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_AssignedResource", Storage="_Job", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true, DeleteRule="CASCADE")]
319    public Job Job
320    {
321      get
322      {
323        return this._Job.Entity;
324      }
325      set
326      {
327        Job previousValue = this._Job.Entity;
328        if (((previousValue != value)
329              || (this._Job.HasLoadedOrAssignedValue == false)))
330        {
331          this.SendPropertyChanging();
332          if ((previousValue != null))
333          {
334            this._Job.Entity = null;
335            previousValue.AssignedResources.Remove(this);
336          }
337          this._Job.Entity = value;
338          if ((value != null))
339          {
340            value.AssignedResources.Add(this);
341            this._JobId = value.JobId;
342          }
343          else
344          {
345            this._JobId = default(System.Guid);
346          }
347          this.SendPropertyChanged("Job");
348        }
349      }
350    }
351   
352    public event PropertyChangingEventHandler PropertyChanging;
353   
354    public event PropertyChangedEventHandler PropertyChanged;
355   
356    protected virtual void SendPropertyChanging()
357    {
358      if ((this.PropertyChanging != null))
359      {
360        this.PropertyChanging(this, emptyChangingEventArgs);
361      }
362    }
363   
364    protected virtual void SendPropertyChanged(String propertyName)
365    {
366      if ((this.PropertyChanged != null))
367      {
368        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
369      }
370    }
371  }
372 
373  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.UptimeStatistics")]
374  public partial class UptimeStatistic : INotifyPropertyChanging, INotifyPropertyChanged
375  {
376   
377    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
378   
379    private System.Guid _UptimeStatisticsId;
380   
381    private System.DateTime _Login;
382   
383    private System.DateTime _Logout;
384   
385    private System.Guid _ResourceId;
386   
387    private EntityRef<Slave> _Slave;
388   
389    #region Extensibility Method Definitions
390    partial void OnLoaded();
391    partial void OnValidate(System.Data.Linq.ChangeAction action);
392    partial void OnCreated();
393    partial void OnUptimeStatisticsIdChanging(System.Guid value);
394    partial void OnUptimeStatisticsIdChanged();
395    partial void OnLoginChanging(System.DateTime value);
396    partial void OnLoginChanged();
397    partial void OnLogoutChanging(System.DateTime value);
398    partial void OnLogoutChanged();
399    partial void OnResourceIdChanging(System.Guid value);
400    partial void OnResourceIdChanged();
401    #endregion
402   
403    public UptimeStatistic()
404    {
405      this._Slave = default(EntityRef<Slave>);
406      OnCreated();
407    }
408   
409    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UptimeStatisticsId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
410    public System.Guid UptimeStatisticsId
411    {
412      get
413      {
414        return this._UptimeStatisticsId;
415      }
416      set
417      {
418        if ((this._UptimeStatisticsId != value))
419        {
420          this.OnUptimeStatisticsIdChanging(value);
421          this.SendPropertyChanging();
422          this._UptimeStatisticsId = value;
423          this.SendPropertyChanged("UptimeStatisticsId");
424          this.OnUptimeStatisticsIdChanged();
425        }
426      }
427    }
428   
429    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Login", DbType="DateTime")]
430    public System.DateTime Login
431    {
432      get
433      {
434        return this._Login;
435      }
436      set
437      {
438        if ((this._Login != value))
439        {
440          this.OnLoginChanging(value);
441          this.SendPropertyChanging();
442          this._Login = value;
443          this.SendPropertyChanged("Login");
444          this.OnLoginChanged();
445        }
446      }
447    }
448   
449    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Logout", DbType="DateTime")]
450    public System.DateTime Logout
451    {
452      get
453      {
454        return this._Logout;
455      }
456      set
457      {
458        if ((this._Logout != value))
459        {
460          this.OnLogoutChanging(value);
461          this.SendPropertyChanging();
462          this._Logout = value;
463          this.SendPropertyChanged("Logout");
464          this.OnLogoutChanged();
465        }
466      }
467    }
468   
469    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier")]
470    public System.Guid ResourceId
471    {
472      get
473      {
474        return this._ResourceId;
475      }
476      set
477      {
478        if ((this._ResourceId != value))
479        {
480          if (this._Slave.HasLoadedOrAssignedValue)
481          {
482            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
483          }
484          this.OnResourceIdChanging(value);
485          this.SendPropertyChanging();
486          this._ResourceId = value;
487          this.SendPropertyChanged("ResourceId");
488          this.OnResourceIdChanged();
489        }
490      }
491    }
492   
493    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Slave_UptimeStatistic", Storage="_Slave", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="SET NULL")]
494    public Slave Slave
495    {
496      get
497      {
498        return this._Slave.Entity;
499      }
500      set
501      {
502        Slave previousValue = this._Slave.Entity;
503        if (((previousValue != value)
504              || (this._Slave.HasLoadedOrAssignedValue == false)))
505        {
506          this.SendPropertyChanging();
507          if ((previousValue != null))
508          {
509            this._Slave.Entity = null;
510            previousValue.UptimeStatistics.Remove(this);
511          }
512          this._Slave.Entity = value;
513          if ((value != null))
514          {
515            value.UptimeStatistics.Add(this);
516            this._ResourceId = value.ResourceId;
517          }
518          else
519          {
520            this._ResourceId = default(System.Guid);
521          }
522          this.SendPropertyChanged("Slave");
523        }
524      }
525    }
526   
527    public event PropertyChangingEventHandler PropertyChanging;
528   
529    public event PropertyChangedEventHandler PropertyChanged;
530   
531    protected virtual void SendPropertyChanging()
532    {
533      if ((this.PropertyChanging != null))
534      {
535        this.PropertyChanging(this, emptyChangingEventArgs);
536      }
537    }
538   
539    protected virtual void SendPropertyChanged(String propertyName)
540    {
541      if ((this.PropertyChanged != null))
542      {
543        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
544      }
545    }
546  }
547 
548  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SlaveConfig")]
549  public partial class SlaveConfig : INotifyPropertyChanging, INotifyPropertyChanged
550  {
551   
552    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
553   
554    private System.Guid _SlaveConfigId;
555   
556    private System.Xml.Linq.XElement _UpDownTimeCalendar;
557   
558    private System.Nullable<int> _HeartBeatIntervall;
559   
560    private EntitySet<Slave> _Slaves;
561   
562    #region Extensibility Method Definitions
563    partial void OnLoaded();
564    partial void OnValidate(System.Data.Linq.ChangeAction action);
565    partial void OnCreated();
566    partial void OnSlaveConfigIdChanging(System.Guid value);
567    partial void OnSlaveConfigIdChanged();
568    partial void OnUpDownTimeCalendarChanging(System.Xml.Linq.XElement value);
569    partial void OnUpDownTimeCalendarChanged();
570    partial void OnHeartBeatIntervallChanging(System.Nullable<int> value);
571    partial void OnHeartBeatIntervallChanged();
572    #endregion
573   
574    public SlaveConfig()
575    {
576      this._Slaves = new EntitySet<Slave>(new Action<Slave>(this.attach_Slaves), new Action<Slave>(this.detach_Slaves));
577      OnCreated();
578    }
579   
580    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SlaveConfigId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
581    public System.Guid SlaveConfigId
582    {
583      get
584      {
585        return this._SlaveConfigId;
586      }
587      set
588      {
589        if ((this._SlaveConfigId != value))
590        {
591          this.OnSlaveConfigIdChanging(value);
592          this.SendPropertyChanging();
593          this._SlaveConfigId = value;
594          this.SendPropertyChanged("SlaveConfigId");
595          this.OnSlaveConfigIdChanged();
596        }
597      }
598    }
599   
600    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UpDownTimeCalendar", DbType="Xml", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
601    public System.Xml.Linq.XElement UpDownTimeCalendar
602    {
603      get
604      {
605        return this._UpDownTimeCalendar;
606      }
607      set
608      {
609        if ((this._UpDownTimeCalendar != value))
610        {
611          this.OnUpDownTimeCalendarChanging(value);
612          this.SendPropertyChanging();
613          this._UpDownTimeCalendar = value;
614          this.SendPropertyChanged("UpDownTimeCalendar");
615          this.OnUpDownTimeCalendarChanged();
616        }
617      }
618    }
619   
620    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HeartBeatIntervall", DbType="Int")]
621    public System.Nullable<int> HeartBeatIntervall
622    {
623      get
624      {
625        return this._HeartBeatIntervall;
626      }
627      set
628      {
629        if ((this._HeartBeatIntervall != value))
630        {
631          this.OnHeartBeatIntervallChanging(value);
632          this.SendPropertyChanging();
633          this._HeartBeatIntervall = value;
634          this.SendPropertyChanged("HeartBeatIntervall");
635          this.OnHeartBeatIntervallChanged();
636        }
637      }
638    }
639   
640    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="SlaveConfig_Slave", Storage="_Slaves", ThisKey="SlaveConfigId", OtherKey="SlaveConfigId")]
641    public EntitySet<Slave> Slaves
642    {
643      get
644      {
645        return this._Slaves;
646      }
647      set
648      {
649        this._Slaves.Assign(value);
650      }
651    }
652   
653    public event PropertyChangingEventHandler PropertyChanging;
654   
655    public event PropertyChangedEventHandler PropertyChanged;
656   
657    protected virtual void SendPropertyChanging()
658    {
659      if ((this.PropertyChanging != null))
660      {
661        this.PropertyChanging(this, emptyChangingEventArgs);
662      }
663    }
664   
665    protected virtual void SendPropertyChanged(String propertyName)
666    {
667      if ((this.PropertyChanged != null))
668      {
669        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
670      }
671    }
672   
673    private void attach_Slaves(Slave entity)
674    {
675      this.SendPropertyChanging();
676      entity.SlaveConfig = this;
677    }
678   
679    private void detach_Slaves(Slave entity)
680    {
681      this.SendPropertyChanging();
682      entity.SlaveConfig = null;
683    }
684  }
685 
686  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.SlaveGroup_Resource")]
687  public partial class SlaveGroup_Resource : INotifyPropertyChanging, INotifyPropertyChanged
688  {
689   
690    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
691   
692    private System.Guid _SlaveGroup_RessourceId;
693   
694    private System.Guid _SlaveGroupId;
695   
696    private System.Guid _ResourceId;
697   
698    private EntityRef<SlaveGroup> _SlaveGroup;
699   
700    private EntityRef<Resource> _Resource;
701   
702    #region Extensibility Method Definitions
703    partial void OnLoaded();
704    partial void OnValidate(System.Data.Linq.ChangeAction action);
705    partial void OnCreated();
706    partial void OnSlaveGroup_RessourceIdChanging(System.Guid value);
707    partial void OnSlaveGroup_RessourceIdChanged();
708    partial void OnSlaveGroupIdChanging(System.Guid value);
709    partial void OnSlaveGroupIdChanged();
710    partial void OnResourceIdChanging(System.Guid value);
711    partial void OnResourceIdChanged();
712    #endregion
713   
714    public SlaveGroup_Resource()
715    {
716      this._SlaveGroup = default(EntityRef<SlaveGroup>);
717      this._Resource = default(EntityRef<Resource>);
718      OnCreated();
719    }
720   
721    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SlaveGroup_RessourceId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
722    public System.Guid SlaveGroup_RessourceId
723    {
724      get
725      {
726        return this._SlaveGroup_RessourceId;
727      }
728      set
729      {
730        if ((this._SlaveGroup_RessourceId != value))
731        {
732          this.OnSlaveGroup_RessourceIdChanging(value);
733          this.SendPropertyChanging();
734          this._SlaveGroup_RessourceId = value;
735          this.SendPropertyChanged("SlaveGroup_RessourceId");
736          this.OnSlaveGroup_RessourceIdChanged();
737        }
738      }
739    }
740   
741    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SlaveGroupId", DbType="UniqueIdentifier NOT NULL")]
742    public System.Guid SlaveGroupId
743    {
744      get
745      {
746        return this._SlaveGroupId;
747      }
748      set
749      {
750        if ((this._SlaveGroupId != value))
751        {
752          if (this._SlaveGroup.HasLoadedOrAssignedValue)
753          {
754            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
755          }
756          this.OnSlaveGroupIdChanging(value);
757          this.SendPropertyChanging();
758          this._SlaveGroupId = value;
759          this.SendPropertyChanged("SlaveGroupId");
760          this.OnSlaveGroupIdChanged();
761        }
762      }
763    }
764   
765    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
766    public System.Guid ResourceId
767    {
768      get
769      {
770        return this._ResourceId;
771      }
772      set
773      {
774        if ((this._ResourceId != value))
775        {
776          if (this._Resource.HasLoadedOrAssignedValue)
777          {
778            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
779          }
780          this.OnResourceIdChanging(value);
781          this.SendPropertyChanging();
782          this._ResourceId = value;
783          this.SendPropertyChanged("ResourceId");
784          this.OnResourceIdChanged();
785        }
786      }
787    }
788   
789    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="SlaveGroup_SlaveGroup_Resource", Storage="_SlaveGroup", ThisKey="SlaveGroupId", OtherKey="ResourceId", IsForeignKey=true)]
790    public SlaveGroup SlaveGroup
791    {
792      get
793      {
794        return this._SlaveGroup.Entity;
795      }
796      set
797      {
798        SlaveGroup previousValue = this._SlaveGroup.Entity;
799        if (((previousValue != value)
800              || (this._SlaveGroup.HasLoadedOrAssignedValue == false)))
801        {
802          this.SendPropertyChanging();
803          if ((previousValue != null))
804          {
805            this._SlaveGroup.Entity = null;
806            previousValue.SlaveGroup_Resources_Children.Remove(this);
807          }
808          this._SlaveGroup.Entity = value;
809          if ((value != null))
810          {
811            value.SlaveGroup_Resources_Children.Add(this);
812            this._SlaveGroupId = value.ResourceId;
813          }
814          else
815          {
816            this._SlaveGroupId = default(System.Guid);
817          }
818          this.SendPropertyChanged("SlaveGroup");
819        }
820      }
821    }
822   
823    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_SlaveGroup_Resource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")]
824    public Resource Resource
825    {
826      get
827      {
828        return this._Resource.Entity;
829      }
830      set
831      {
832        Resource previousValue = this._Resource.Entity;
833        if (((previousValue != value)
834              || (this._Resource.HasLoadedOrAssignedValue == false)))
835        {
836          this.SendPropertyChanging();
837          if ((previousValue != null))
838          {
839            this._Resource.Entity = null;
840            previousValue.SlaveGroup_Resources_Parents.Remove(this);
841          }
842          this._Resource.Entity = value;
843          if ((value != null))
844          {
845            value.SlaveGroup_Resources_Parents.Add(this);
846            this._ResourceId = value.ResourceId;
847          }
848          else
849          {
850            this._ResourceId = default(System.Guid);
851          }
852          this.SendPropertyChanged("Resource");
853        }
854      }
855    }
856   
857    public event PropertyChangingEventHandler PropertyChanging;
858   
859    public event PropertyChangedEventHandler PropertyChanged;
860   
861    protected virtual void SendPropertyChanging()
862    {
863      if ((this.PropertyChanging != null))
864      {
865        this.PropertyChanging(this, emptyChangingEventArgs);
866      }
867    }
868   
869    protected virtual void SendPropertyChanged(String propertyName)
870    {
871      if ((this.PropertyChanged != null))
872      {
873        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
874      }
875    }
876  }
877 
878  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PluginInfo")]
879  public partial class PluginInfo : INotifyPropertyChanging, INotifyPropertyChanged
880  {
881   
882    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
883   
884    private System.Guid _PluginId;
885   
886    private string _Name;
887   
888    private string _Version;
889   
890    private string _BuildDate;
891   
892    private EntitySet<RequiredPlugin> _RequiredPlugins;
893   
894    #region Extensibility Method Definitions
895    partial void OnLoaded();
896    partial void OnValidate(System.Data.Linq.ChangeAction action);
897    partial void OnCreated();
898    partial void OnPluginIdChanging(System.Guid value);
899    partial void OnPluginIdChanged();
900    partial void OnNameChanging(string value);
901    partial void OnNameChanged();
902    partial void OnVersionChanging(string value);
903    partial void OnVersionChanged();
904    partial void OnBuildDateChanging(string value);
905    partial void OnBuildDateChanged();
906    #endregion
907   
908    public PluginInfo()
909    {
910      this._RequiredPlugins = new EntitySet<RequiredPlugin>(new Action<RequiredPlugin>(this.attach_RequiredPlugins), new Action<RequiredPlugin>(this.detach_RequiredPlugins));
911      OnCreated();
912    }
913   
914    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
915    public System.Guid PluginId
916    {
917      get
918      {
919        return this._PluginId;
920      }
921      set
922      {
923        if ((this._PluginId != value))
924        {
925          this.OnPluginIdChanging(value);
926          this.SendPropertyChanging();
927          this._PluginId = value;
928          this.SendPropertyChanged("PluginId");
929          this.OnPluginIdChanged();
930        }
931      }
932    }
933   
934    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
935    public string Name
936    {
937      get
938      {
939        return this._Name;
940      }
941      set
942      {
943        if ((this._Name != value))
944        {
945          this.OnNameChanging(value);
946          this.SendPropertyChanging();
947          this._Name = value;
948          this.SendPropertyChanged("Name");
949          this.OnNameChanged();
950        }
951      }
952    }
953   
954    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Version", DbType="VarChar(MAX)", CanBeNull=false)]
955    public string Version
956    {
957      get
958      {
959        return this._Version;
960      }
961      set
962      {
963        if ((this._Version != value))
964        {
965          this.OnVersionChanging(value);
966          this.SendPropertyChanging();
967          this._Version = value;
968          this.SendPropertyChanged("Version");
969          this.OnVersionChanged();
970        }
971      }
972    }
973   
974    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuildDate", DbType="VarChar(20)", CanBeNull=false)]
975    public string BuildDate
976    {
977      get
978      {
979        return this._BuildDate;
980      }
981      set
982      {
983        if ((this._BuildDate != value))
984        {
985          this.OnBuildDateChanging(value);
986          this.SendPropertyChanging();
987          this._BuildDate = value;
988          this.SendPropertyChanged("BuildDate");
989          this.OnBuildDateChanged();
990        }
991      }
992    }
993   
994    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="PluginInfo_RequiredPlugin", Storage="_RequiredPlugins", ThisKey="PluginId", OtherKey="PluginId")]
995    public EntitySet<RequiredPlugin> RequiredPlugins
996    {
997      get
998      {
999        return this._RequiredPlugins;
1000      }
1001      set
1002      {
1003        this._RequiredPlugins.Assign(value);
1004      }
1005    }
1006   
1007    public event PropertyChangingEventHandler PropertyChanging;
1008   
1009    public event PropertyChangedEventHandler PropertyChanged;
1010   
1011    protected virtual void SendPropertyChanging()
1012    {
1013      if ((this.PropertyChanging != null))
1014      {
1015        this.PropertyChanging(this, emptyChangingEventArgs);
1016      }
1017    }
1018   
1019    protected virtual void SendPropertyChanged(String propertyName)
1020    {
1021      if ((this.PropertyChanged != null))
1022      {
1023        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
1024      }
1025    }
1026   
1027    private void attach_RequiredPlugins(RequiredPlugin entity)
1028    {
1029      this.SendPropertyChanging();
1030      entity.PluginInfo = this;
1031    }
1032   
1033    private void detach_RequiredPlugins(RequiredPlugin entity)
1034    {
1035      this.SendPropertyChanging();
1036      entity.PluginInfo = null;
1037    }
1038  }
1039 
1040  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Project")]
1041  public partial class Project : INotifyPropertyChanging, INotifyPropertyChanged
1042  {
1043   
1044    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
1045   
1046    private System.Guid _ProjectId;
1047   
1048    private string _Name;
1049   
1050    private EntitySet<Job> _Jobs;
1051   
1052    #region Extensibility Method Definitions
1053    partial void OnLoaded();
1054    partial void OnValidate(System.Data.Linq.ChangeAction action);
1055    partial void OnCreated();
1056    partial void OnProjectIdChanging(System.Guid value);
1057    partial void OnProjectIdChanged();
1058    partial void OnNameChanging(string value);
1059    partial void OnNameChanged();
1060    #endregion
1061   
1062    public Project()
1063    {
1064      this._Jobs = new EntitySet<Job>(new Action<Job>(this.attach_Jobs), new Action<Job>(this.detach_Jobs));
1065      OnCreated();
1066    }
1067   
1068    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
1069    public System.Guid ProjectId
1070    {
1071      get
1072      {
1073        return this._ProjectId;
1074      }
1075      set
1076      {
1077        if ((this._ProjectId != value))
1078        {
1079          this.OnProjectIdChanging(value);
1080          this.SendPropertyChanging();
1081          this._ProjectId = value;
1082          this.SendPropertyChanged("ProjectId");
1083          this.OnProjectIdChanged();
1084        }
1085      }
1086    }
1087   
1088    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
1089    public string Name
1090    {
1091      get
1092      {
1093        return this._Name;
1094      }
1095      set
1096      {
1097        if ((this._Name != value))
1098        {
1099          this.OnNameChanging(value);
1100          this.SendPropertyChanging();
1101          this._Name = value;
1102          this.SendPropertyChanged("Name");
1103          this.OnNameChanged();
1104        }
1105      }
1106    }
1107   
1108    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_Job", Storage="_Jobs", ThisKey="ProjectId", OtherKey="ProjectId")]
1109    public EntitySet<Job> Jobs
1110    {
1111      get
1112      {
1113        return this._Jobs;
1114      }
1115      set
1116      {
1117        this._Jobs.Assign(value);
1118      }
1119    }
1120   
1121    public event PropertyChangingEventHandler PropertyChanging;
1122   
1123    public event PropertyChangedEventHandler PropertyChanged;
1124   
1125    protected virtual void SendPropertyChanging()
1126    {
1127      if ((this.PropertyChanging != null))
1128      {
1129        this.PropertyChanging(this, emptyChangingEventArgs);
1130      }
1131    }
1132   
1133    protected virtual void SendPropertyChanged(String propertyName)
1134    {
1135      if ((this.PropertyChanged != null))
1136      {
1137        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
1138      }
1139    }
1140   
1141    private void attach_Jobs(Job entity)
1142    {
1143      this.SendPropertyChanging();
1144      entity.Project = this;
1145    }
1146   
1147    private void detach_Jobs(Job entity)
1148    {
1149      this.SendPropertyChanging();
1150      entity.Project = null;
1151    }
1152  }
1153 
1154  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.RequiredPlugins")]
1155  public partial class RequiredPlugin : INotifyPropertyChanging, INotifyPropertyChanged
1156  {
1157   
1158    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
1159   
1160    private System.Guid _RequiredPluginId;
1161   
1162    private System.Guid _JobId;
1163   
1164    private System.Guid _PluginId;
1165   
1166    private EntityRef<PluginInfo> _PluginInfo;
1167   
1168    private EntityRef<Job> _Job;
1169   
1170    #region Extensibility Method Definitions
1171    partial void OnLoaded();
1172    partial void OnValidate(System.Data.Linq.ChangeAction action);
1173    partial void OnCreated();
1174    partial void OnRequiredPluginIdChanging(System.Guid value);
1175    partial void OnRequiredPluginIdChanged();
1176    partial void OnJobIdChanging(System.Guid value);
1177    partial void OnJobIdChanged();
1178    partial void OnPluginIdChanging(System.Guid value);
1179    partial void OnPluginIdChanged();
1180    #endregion
1181   
1182    public RequiredPlugin()
1183    {
1184      this._PluginInfo = default(EntityRef<PluginInfo>);
1185      this._Job = default(EntityRef<Job>);
1186      OnCreated();
1187    }
1188   
1189    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RequiredPluginId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true, UpdateCheck=UpdateCheck.Never)]
1190    public System.Guid RequiredPluginId
1191    {
1192      get
1193      {
1194        return this._RequiredPluginId;
1195      }
1196      set
1197      {
1198        if ((this._RequiredPluginId != value))
1199        {
1200          this.OnRequiredPluginIdChanging(value);
1201          this.SendPropertyChanging();
1202          this._RequiredPluginId = value;
1203          this.SendPropertyChanged("RequiredPluginId");
1204          this.OnRequiredPluginIdChanged();
1205        }
1206      }
1207    }
1208   
1209    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", DbType="UniqueIdentifier NOT NULL")]
1210    public System.Guid JobId
1211    {
1212      get
1213      {
1214        return this._JobId;
1215      }
1216      set
1217      {
1218        if ((this._JobId != value))
1219        {
1220          if (this._Job.HasLoadedOrAssignedValue)
1221          {
1222            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
1223          }
1224          this.OnJobIdChanging(value);
1225          this.SendPropertyChanging();
1226          this._JobId = value;
1227          this.SendPropertyChanged("JobId");
1228          this.OnJobIdChanged();
1229        }
1230      }
1231    }
1232   
1233    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PluginId", DbType="UniqueIdentifier NOT NULL")]
1234    public System.Guid PluginId
1235    {
1236      get
1237      {
1238        return this._PluginId;
1239      }
1240      set
1241      {
1242        if ((this._PluginId != value))
1243        {
1244          if (this._PluginInfo.HasLoadedOrAssignedValue)
1245          {
1246            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
1247          }
1248          this.OnPluginIdChanging(value);
1249          this.SendPropertyChanging();
1250          this._PluginId = value;
1251          this.SendPropertyChanged("PluginId");
1252          this.OnPluginIdChanged();
1253        }
1254      }
1255    }
1256   
1257    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="PluginInfo_RequiredPlugin", Storage="_PluginInfo", ThisKey="PluginId", OtherKey="PluginId", IsForeignKey=true, DeleteRule="CASCADE")]
1258    public PluginInfo PluginInfo
1259    {
1260      get
1261      {
1262        return this._PluginInfo.Entity;
1263      }
1264      set
1265      {
1266        PluginInfo previousValue = this._PluginInfo.Entity;
1267        if (((previousValue != value)
1268              || (this._PluginInfo.HasLoadedOrAssignedValue == false)))
1269        {
1270          this.SendPropertyChanging();
1271          if ((previousValue != null))
1272          {
1273            this._PluginInfo.Entity = null;
1274            previousValue.RequiredPlugins.Remove(this);
1275          }
1276          this._PluginInfo.Entity = value;
1277          if ((value != null))
1278          {
1279            value.RequiredPlugins.Add(this);
1280            this._PluginId = value.PluginId;
1281          }
1282          else
1283          {
1284            this._PluginId = default(System.Guid);
1285          }
1286          this.SendPropertyChanged("PluginInfo");
1287        }
1288      }
1289    }
1290   
1291    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_RequiredPlugin", Storage="_Job", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
1292    public Job Job
1293    {
1294      get
1295      {
1296        return this._Job.Entity;
1297      }
1298      set
1299      {
1300        Job previousValue = this._Job.Entity;
1301        if (((previousValue != value)
1302              || (this._Job.HasLoadedOrAssignedValue == false)))
1303        {
1304          this.SendPropertyChanging();
1305          if ((previousValue != null))
1306          {
1307            this._Job.Entity = null;
1308            previousValue.RequiredPlugins.Remove(this);
1309          }
1310          this._Job.Entity = value;
1311          if ((value != null))
1312          {
1313            value.RequiredPlugins.Add(this);
1314            this._JobId = value.JobId;
1315          }
1316          else
1317          {
1318            this._JobId = default(System.Guid);
1319          }
1320          this.SendPropertyChanged("Job");
1321        }
1322      }
1323    }
1324   
1325    public event PropertyChangingEventHandler PropertyChanging;
1326   
1327    public event PropertyChangedEventHandler PropertyChanged;
1328   
1329    protected virtual void SendPropertyChanging()
1330    {
1331      if ((this.PropertyChanging != null))
1332      {
1333        this.PropertyChanging(this, emptyChangingEventArgs);
1334      }
1335    }
1336   
1337    protected virtual void SendPropertyChanged(String propertyName)
1338    {
1339      if ((this.PropertyChanged != null))
1340      {
1341        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
1342      }
1343    }
1344  }
1345 
1346  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Resource")]
1347  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="RESOURCE", Type=typeof(Resource))]
1348  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="Slave", Type=typeof(Slave), IsDefault=true)]
1349  [global::System.Data.Linq.Mapping.InheritanceMappingAttribute(Code="GROUP", Type=typeof(SlaveGroup))]
1350  public partial class Resource : INotifyPropertyChanging, INotifyPropertyChanged
1351  {
1352   
1353    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
1354   
1355    protected System.Guid _ResourceId;
1356   
1357    private string _Name;
1358   
1359    private string _ResourceType;
1360   
1361    private EntitySet<AssignedResource> _AssignedResources;
1362   
1363    private EntitySet<SlaveGroup_Resource> _SlaveGroup_Resources_Parents;
1364   
1365    private EntitySet<UptimeCalendar> _UptimeCalendars;
1366   
1367    #region Extensibility Method Definitions
1368    partial void OnLoaded();
1369    partial void OnValidate(System.Data.Linq.ChangeAction action);
1370    partial void OnCreated();
1371    partial void OnResourceIdChanging(System.Guid value);
1372    partial void OnResourceIdChanged();
1373    partial void OnNameChanging(string value);
1374    partial void OnNameChanged();
1375    partial void OnResourceTypeChanging(string value);
1376    partial void OnResourceTypeChanged();
1377    #endregion
1378   
1379    public Resource()
1380    {
1381      this._AssignedResources = new EntitySet<AssignedResource>(new Action<AssignedResource>(this.attach_AssignedResources), new Action<AssignedResource>(this.detach_AssignedResources));
1382      this._SlaveGroup_Resources_Parents = new EntitySet<SlaveGroup_Resource>(new Action<SlaveGroup_Resource>(this.attach_SlaveGroup_Resources_Parents), new Action<SlaveGroup_Resource>(this.detach_SlaveGroup_Resources_Parents));
1383      this._UptimeCalendars = new EntitySet<UptimeCalendar>(new Action<UptimeCalendar>(this.attach_UptimeCalendars), new Action<UptimeCalendar>(this.detach_UptimeCalendars));
1384      OnCreated();
1385    }
1386   
1387    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
1388    public System.Guid ResourceId
1389    {
1390      get
1391      {
1392        return this._ResourceId;
1393      }
1394      set
1395      {
1396        if ((this._ResourceId != value))
1397        {
1398          this.OnResourceIdChanging(value);
1399          this.SendPropertyChanging();
1400          this._ResourceId = value;
1401          this.SendPropertyChanged("ResourceId");
1402          this.OnResourceIdChanged();
1403        }
1404      }
1405    }
1406   
1407    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
1408    public string Name
1409    {
1410      get
1411      {
1412        return this._Name;
1413      }
1414      set
1415      {
1416        if ((this._Name != value))
1417        {
1418          this.OnNameChanging(value);
1419          this.SendPropertyChanging();
1420          this._Name = value;
1421          this.SendPropertyChanged("Name");
1422          this.OnNameChanged();
1423        }
1424      }
1425    }
1426   
1427    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceType", CanBeNull=false, IsDiscriminator=true)]
1428    public string ResourceType
1429    {
1430      get
1431      {
1432        return this._ResourceType;
1433      }
1434      set
1435      {
1436        if ((this._ResourceType != value))
1437        {
1438          this.OnResourceTypeChanging(value);
1439          this.SendPropertyChanging();
1440          this._ResourceType = value;
1441          this.SendPropertyChanged("ResourceType");
1442          this.OnResourceTypeChanged();
1443        }
1444      }
1445    }
1446   
1447    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedResource", Storage="_AssignedResources", ThisKey="ResourceId", OtherKey="ResourceId")]
1448    public EntitySet<AssignedResource> AssignedResources
1449    {
1450      get
1451      {
1452        return this._AssignedResources;
1453      }
1454      set
1455      {
1456        this._AssignedResources.Assign(value);
1457      }
1458    }
1459   
1460    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_SlaveGroup_Resource", Storage="_SlaveGroup_Resources_Parents", ThisKey="ResourceId", OtherKey="ResourceId")]
1461    public EntitySet<SlaveGroup_Resource> SlaveGroup_Resources_Parents
1462    {
1463      get
1464      {
1465        return this._SlaveGroup_Resources_Parents;
1466      }
1467      set
1468      {
1469        this._SlaveGroup_Resources_Parents.Assign(value);
1470      }
1471    }
1472   
1473    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_UptimeCalendar", Storage="_UptimeCalendars", ThisKey="ResourceId", OtherKey="ResourceId")]
1474    public EntitySet<UptimeCalendar> UptimeCalendars
1475    {
1476      get
1477      {
1478        return this._UptimeCalendars;
1479      }
1480      set
1481      {
1482        this._UptimeCalendars.Assign(value);
1483      }
1484    }
1485   
1486    public event PropertyChangingEventHandler PropertyChanging;
1487   
1488    public event PropertyChangedEventHandler PropertyChanged;
1489   
1490    protected virtual void SendPropertyChanging()
1491    {
1492      if ((this.PropertyChanging != null))
1493      {
1494        this.PropertyChanging(this, emptyChangingEventArgs);
1495      }
1496    }
1497   
1498    protected virtual void SendPropertyChanged(String propertyName)
1499    {
1500      if ((this.PropertyChanged != null))
1501      {
1502        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
1503      }
1504    }
1505   
1506    private void attach_AssignedResources(AssignedResource entity)
1507    {
1508      this.SendPropertyChanging();
1509      entity.Resource = this;
1510    }
1511   
1512    private void detach_AssignedResources(AssignedResource entity)
1513    {
1514      this.SendPropertyChanging();
1515      entity.Resource = null;
1516    }
1517   
1518    private void attach_SlaveGroup_Resources_Parents(SlaveGroup_Resource entity)
1519    {
1520      this.SendPropertyChanging();
1521      entity.Resource = this;
1522    }
1523   
1524    private void detach_SlaveGroup_Resources_Parents(SlaveGroup_Resource entity)
1525    {
1526      this.SendPropertyChanging();
1527      entity.Resource = null;
1528    }
1529   
1530    private void attach_UptimeCalendars(UptimeCalendar entity)
1531    {
1532      this.SendPropertyChanging();
1533      entity.Resource = this;
1534    }
1535   
1536    private void detach_UptimeCalendars(UptimeCalendar entity)
1537    {
1538      this.SendPropertyChanging();
1539      entity.Resource = null;
1540    }
1541  }
1542 
1543  public partial class Slave : Resource
1544  {
1545   
1546    private System.Nullable<int> _CPUSpeed;
1547   
1548    private System.Nullable<int> _Memory;
1549   
1550    private System.Nullable<System.DateTime> _Login;
1551   
1552    private string _Status;
1553   
1554    private string _CalendarSyncStatus;
1555   
1556    private System.Nullable<System.Guid> _UseCalendarFromResourceId;
1557   
1558    private System.Nullable<System.Guid> _SlaveConfigId;
1559   
1560    private System.Nullable<int> _NumberOfCores;
1561   
1562    private System.Nullable<int> _NumberOfFreeCores;
1563   
1564    private System.Nullable<int> _FreeMemory;
1565   
1566    private bool _IsAllowedToCalculate;
1567   
1568    private System.Nullable<System.DateTime> _LastHeartbeat;
1569   
1570    private EntitySet<UptimeStatistic> _UptimeStatistics;
1571   
1572    private EntitySet<Job> _Jobs;
1573   
1574    private EntityRef<SlaveConfig> _SlaveConfig;
1575   
1576    #region Extensibility Method Definitions
1577    partial void OnLoaded();
1578    partial void OnValidate(System.Data.Linq.ChangeAction action);
1579    partial void OnCreated();
1580    partial void OnCPUSpeedChanging(System.Nullable<int> value);
1581    partial void OnCPUSpeedChanged();
1582    partial void OnMemoryChanging(System.Nullable<int> value);
1583    partial void OnMemoryChanged();
1584    partial void OnLoginChanging(System.Nullable<System.DateTime> value);
1585    partial void OnLoginChanged();
1586    partial void OnStatusChanging(string value);
1587    partial void OnStatusChanged();
1588    partial void OnCalendarSyncStatusChanging(string value);
1589    partial void OnCalendarSyncStatusChanged();
1590    partial void OnUseCalendarFromResourceIdChanging(System.Nullable<System.Guid> value);
1591    partial void OnUseCalendarFromResourceIdChanged();
1592    partial void OnSlaveConfigIdChanging(System.Nullable<System.Guid> value);
1593    partial void OnSlaveConfigIdChanged();
1594    partial void OnNumberOfCoresChanging(System.Nullable<int> value);
1595    partial void OnNumberOfCoresChanged();
1596    partial void OnNumberOfFreeCoresChanging(System.Nullable<int> value);
1597    partial void OnNumberOfFreeCoresChanged();
1598    partial void OnFreeMemoryChanging(System.Nullable<int> value);
1599    partial void OnFreeMemoryChanged();
1600    partial void OnIsAllowedToCalculateChanging(bool value);
1601    partial void OnIsAllowedToCalculateChanged();
1602    partial void OnLastHeartbeatChanging(System.Nullable<System.DateTime> value);
1603    partial void OnLastHeartbeatChanged();
1604    #endregion
1605   
1606    public Slave()
1607    {
1608      this._UptimeStatistics = new EntitySet<UptimeStatistic>(new Action<UptimeStatistic>(this.attach_UptimeStatistics), new Action<UptimeStatistic>(this.detach_UptimeStatistics));
1609      this._Jobs = new EntitySet<Job>(new Action<Job>(this.attach_Jobs), new Action<Job>(this.detach_Jobs));
1610      this._SlaveConfig = default(EntityRef<SlaveConfig>);
1611      OnCreated();
1612    }
1613   
1614    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CPUSpeed", DbType="Int")]
1615    public System.Nullable<int> CPUSpeed
1616    {
1617      get
1618      {
1619        return this._CPUSpeed;
1620      }
1621      set
1622      {
1623        if ((this._CPUSpeed != value))
1624        {
1625          this.OnCPUSpeedChanging(value);
1626          this.SendPropertyChanging();
1627          this._CPUSpeed = value;
1628          this.SendPropertyChanged("CPUSpeed");
1629          this.OnCPUSpeedChanged();
1630        }
1631      }
1632    }
1633   
1634    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Memory", DbType="Int")]
1635    public System.Nullable<int> Memory
1636    {
1637      get
1638      {
1639        return this._Memory;
1640      }
1641      set
1642      {
1643        if ((this._Memory != value))
1644        {
1645          this.OnMemoryChanging(value);
1646          this.SendPropertyChanging();
1647          this._Memory = value;
1648          this.SendPropertyChanged("Memory");
1649          this.OnMemoryChanged();
1650        }
1651      }
1652    }
1653   
1654    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Login", DbType="DateTime")]
1655    public System.Nullable<System.DateTime> Login
1656    {
1657      get
1658      {
1659        return this._Login;
1660      }
1661      set
1662      {
1663        if ((this._Login != value))
1664        {
1665          this.OnLoginChanging(value);
1666          this.SendPropertyChanging();
1667          this._Login = value;
1668          this.SendPropertyChanged("Login");
1669          this.OnLoginChanged();
1670        }
1671      }
1672    }
1673   
1674    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="VarChar(MAX)")]
1675    public string Status
1676    {
1677      get
1678      {
1679        return this._Status;
1680      }
1681      set
1682      {
1683        if ((this._Status != value))
1684        {
1685          this.OnStatusChanging(value);
1686          this.SendPropertyChanging();
1687          this._Status = value;
1688          this.SendPropertyChanged("Status");
1689          this.OnStatusChanged();
1690        }
1691      }
1692    }
1693   
1694    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CalendarSyncStatus", DbType="VarChar(MAX)")]
1695    public string CalendarSyncStatus
1696    {
1697      get
1698      {
1699        return this._CalendarSyncStatus;
1700      }
1701      set
1702      {
1703        if ((this._CalendarSyncStatus != value))
1704        {
1705          this.OnCalendarSyncStatusChanging(value);
1706          this.SendPropertyChanging();
1707          this._CalendarSyncStatus = value;
1708          this.SendPropertyChanged("CalendarSyncStatus");
1709          this.OnCalendarSyncStatusChanged();
1710        }
1711      }
1712    }
1713   
1714    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseCalendarFromResourceId", DbType="UniqueIdentifier")]
1715    public System.Nullable<System.Guid> UseCalendarFromResourceId
1716    {
1717      get
1718      {
1719        return this._UseCalendarFromResourceId;
1720      }
1721      set
1722      {
1723        if ((this._UseCalendarFromResourceId != value))
1724        {
1725          this.OnUseCalendarFromResourceIdChanging(value);
1726          this.SendPropertyChanging();
1727          this._UseCalendarFromResourceId = value;
1728          this.SendPropertyChanged("UseCalendarFromResourceId");
1729          this.OnUseCalendarFromResourceIdChanged();
1730        }
1731      }
1732    }
1733   
1734    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SlaveConfigId", DbType="UniqueIdentifier")]
1735    public System.Nullable<System.Guid> SlaveConfigId
1736    {
1737      get
1738      {
1739        return this._SlaveConfigId;
1740      }
1741      set
1742      {
1743        if ((this._SlaveConfigId != value))
1744        {
1745          if (this._SlaveConfig.HasLoadedOrAssignedValue)
1746          {
1747            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
1748          }
1749          this.OnSlaveConfigIdChanging(value);
1750          this.SendPropertyChanging();
1751          this._SlaveConfigId = value;
1752          this.SendPropertyChanged("SlaveConfigId");
1753          this.OnSlaveConfigIdChanged();
1754        }
1755      }
1756    }
1757   
1758    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfCores", DbType="Int")]
1759    public System.Nullable<int> NumberOfCores
1760    {
1761      get
1762      {
1763        return this._NumberOfCores;
1764      }
1765      set
1766      {
1767        if ((this._NumberOfCores != value))
1768        {
1769          this.OnNumberOfCoresChanging(value);
1770          this.SendPropertyChanging();
1771          this._NumberOfCores = value;
1772          this.SendPropertyChanged("NumberOfCores");
1773          this.OnNumberOfCoresChanged();
1774        }
1775      }
1776    }
1777   
1778    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NumberOfFreeCores", DbType="Int")]
1779    public System.Nullable<int> NumberOfFreeCores
1780    {
1781      get
1782      {
1783        return this._NumberOfFreeCores;
1784      }
1785      set
1786      {
1787        if ((this._NumberOfFreeCores != value))
1788        {
1789          this.OnNumberOfFreeCoresChanging(value);
1790          this.SendPropertyChanging();
1791          this._NumberOfFreeCores = value;
1792          this.SendPropertyChanged("NumberOfFreeCores");
1793          this.OnNumberOfFreeCoresChanged();
1794        }
1795      }
1796    }
1797   
1798    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FreeMemory", DbType="Int")]
1799    public System.Nullable<int> FreeMemory
1800    {
1801      get
1802      {
1803        return this._FreeMemory;
1804      }
1805      set
1806      {
1807        if ((this._FreeMemory != value))
1808        {
1809          this.OnFreeMemoryChanging(value);
1810          this.SendPropertyChanging();
1811          this._FreeMemory = value;
1812          this.SendPropertyChanged("FreeMemory");
1813          this.OnFreeMemoryChanged();
1814        }
1815      }
1816    }
1817   
1818    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsAllowedToCalculate", DbType="Bit")]
1819    public bool IsAllowedToCalculate
1820    {
1821      get
1822      {
1823        return this._IsAllowedToCalculate;
1824      }
1825      set
1826      {
1827        if ((this._IsAllowedToCalculate != value))
1828        {
1829          this.OnIsAllowedToCalculateChanging(value);
1830          this.SendPropertyChanging();
1831          this._IsAllowedToCalculate = value;
1832          this.SendPropertyChanged("IsAllowedToCalculate");
1833          this.OnIsAllowedToCalculateChanged();
1834        }
1835      }
1836    }
1837   
1838    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastHeartbeat", DbType="DateTime")]
1839    public System.Nullable<System.DateTime> LastHeartbeat
1840    {
1841      get
1842      {
1843        return this._LastHeartbeat;
1844      }
1845      set
1846      {
1847        if ((this._LastHeartbeat != value))
1848        {
1849          this.OnLastHeartbeatChanging(value);
1850          this.SendPropertyChanging();
1851          this._LastHeartbeat = value;
1852          this.SendPropertyChanged("LastHeartbeat");
1853          this.OnLastHeartbeatChanged();
1854        }
1855      }
1856    }
1857   
1858    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Slave_UptimeStatistic", Storage="_UptimeStatistics", ThisKey="ResourceId", OtherKey="ResourceId")]
1859    public EntitySet<UptimeStatistic> UptimeStatistics
1860    {
1861      get
1862      {
1863        return this._UptimeStatistics;
1864      }
1865      set
1866      {
1867        this._UptimeStatistics.Assign(value);
1868      }
1869    }
1870   
1871    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Slave_Job", Storage="_Jobs", ThisKey="ResourceId", OtherKey="ResourceId")]
1872    public EntitySet<Job> Jobs
1873    {
1874      get
1875      {
1876        return this._Jobs;
1877      }
1878      set
1879      {
1880        this._Jobs.Assign(value);
1881      }
1882    }
1883   
1884    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="SlaveConfig_Slave", Storage="_SlaveConfig", ThisKey="SlaveConfigId", OtherKey="SlaveConfigId", IsForeignKey=true, DeleteRule="SET NULL")]
1885    public SlaveConfig SlaveConfig
1886    {
1887      get
1888      {
1889        return this._SlaveConfig.Entity;
1890      }
1891      set
1892      {
1893        SlaveConfig previousValue = this._SlaveConfig.Entity;
1894        if (((previousValue != value)
1895              || (this._SlaveConfig.HasLoadedOrAssignedValue == false)))
1896        {
1897          this.SendPropertyChanging();
1898          if ((previousValue != null))
1899          {
1900            this._SlaveConfig.Entity = null;
1901            previousValue.Slaves.Remove(this);
1902          }
1903          this._SlaveConfig.Entity = value;
1904          if ((value != null))
1905          {
1906            value.Slaves.Add(this);
1907            this._SlaveConfigId = value.SlaveConfigId;
1908          }
1909          else
1910          {
1911            this._SlaveConfigId = default(Nullable<System.Guid>);
1912          }
1913          this.SendPropertyChanged("SlaveConfig");
1914        }
1915      }
1916    }
1917   
1918    private void attach_UptimeStatistics(UptimeStatistic entity)
1919    {
1920      this.SendPropertyChanging();
1921      entity.Slave = this;
1922    }
1923   
1924    private void detach_UptimeStatistics(UptimeStatistic entity)
1925    {
1926      this.SendPropertyChanging();
1927      entity.Slave = null;
1928    }
1929   
1930    private void attach_Jobs(Job entity)
1931    {
1932      this.SendPropertyChanging();
1933      entity.Slave = this;
1934    }
1935   
1936    private void detach_Jobs(Job entity)
1937    {
1938      this.SendPropertyChanging();
1939      entity.Slave = null;
1940    }
1941  }
1942 
1943  public partial class SlaveGroup : Resource
1944  {
1945   
1946    private EntitySet<SlaveGroup_Resource> _SlaveGroup_Resources_Children;
1947   
1948    #region Extensibility Method Definitions
1949    partial void OnLoaded();
1950    partial void OnValidate(System.Data.Linq.ChangeAction action);
1951    partial void OnCreated();
1952    #endregion
1953   
1954    public SlaveGroup()
1955    {
1956      this._SlaveGroup_Resources_Children = new EntitySet<SlaveGroup_Resource>(new Action<SlaveGroup_Resource>(this.attach_SlaveGroup_Resources_Children), new Action<SlaveGroup_Resource>(this.detach_SlaveGroup_Resources_Children));
1957      OnCreated();
1958    }
1959   
1960    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="SlaveGroup_SlaveGroup_Resource", Storage="_SlaveGroup_Resources_Children", ThisKey="ResourceId", OtherKey="SlaveGroupId")]
1961    public EntitySet<SlaveGroup_Resource> SlaveGroup_Resources_Children
1962    {
1963      get
1964      {
1965        return this._SlaveGroup_Resources_Children;
1966      }
1967      set
1968      {
1969        this._SlaveGroup_Resources_Children.Assign(value);
1970      }
1971    }
1972   
1973    private void attach_SlaveGroup_Resources_Children(SlaveGroup_Resource entity)
1974    {
1975      this.SendPropertyChanging();
1976      entity.SlaveGroup = this;
1977    }
1978   
1979    private void detach_SlaveGroup_Resources_Children(SlaveGroup_Resource entity)
1980    {
1981      this.SendPropertyChanging();
1982      entity.SlaveGroup = null;
1983    }
1984  }
1985 
1986  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Job")]
1987  public partial class Job : INotifyPropertyChanging, INotifyPropertyChanged
1988  {
1989   
1990    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
1991   
1992    private System.Guid _JobId;
1993   
1994    private System.Nullable<System.Guid> _ParentJobId;
1995   
1996    private string _JobState;
1997   
1998    private System.Nullable<System.Guid> _ResourceId;
1999   
2000    private string _ExecutionTime;
2001   
2002    private string _Exception;
2003   
2004    private System.Data.Linq.Link<System.Data.Linq.Binary> _SerializedJob;
2005   
2006    private System.Nullable<System.DateTime> _DateCreated;
2007   
2008    private System.Nullable<System.DateTime> _DateCalculated;
2009   
2010    private System.Nullable<System.DateTime> _DateFinished;
2011   
2012    private int _Priority;
2013   
2014    private System.Nullable<System.Guid> _ProjectId;
2015   
2016    private System.Guid _UserId;
2017   
2018    private int _CoresNeeded;
2019   
2020    private int _MemoryNeeded;
2021   
2022    private System.Nullable<System.DateTime> _LastHeartbeat;
2023   
2024    private EntitySet<AssignedResource> _AssignedResources;
2025   
2026    private EntitySet<RequiredPlugin> _RequiredPlugins;
2027   
2028    private EntitySet<Job> _Jobs;
2029   
2030    private EntityRef<Job> _Job1;
2031   
2032    private EntityRef<Project> _Project;
2033   
2034    private EntityRef<Slave> _Slave;
2035   
2036    #region Extensibility Method Definitions
2037    partial void OnLoaded();
2038    partial void OnValidate(System.Data.Linq.ChangeAction action);
2039    partial void OnCreated();
2040    partial void OnJobIdChanging(System.Guid value);
2041    partial void OnJobIdChanged();
2042    partial void OnParentJobIdChanging(System.Nullable<System.Guid> value);
2043    partial void OnParentJobIdChanged();
2044    partial void OnJobStateChanging(string value);
2045    partial void OnJobStateChanged();
2046    partial void OnResourceIdChanging(System.Nullable<System.Guid> value);
2047    partial void OnResourceIdChanged();
2048    partial void OnExecutionTimeChanging(string value);
2049    partial void OnExecutionTimeChanged();
2050    partial void OnExceptionChanging(string value);
2051    partial void OnExceptionChanged();
2052    partial void OnSerializedJobChanging(System.Data.Linq.Binary value);
2053    partial void OnSerializedJobChanged();
2054    partial void OnDateCreatedChanging(System.Nullable<System.DateTime> value);
2055    partial void OnDateCreatedChanged();
2056    partial void OnDateCalculatedChanging(System.Nullable<System.DateTime> value);
2057    partial void OnDateCalculatedChanged();
2058    partial void OnDateFinishedChanging(System.Nullable<System.DateTime> value);
2059    partial void OnDateFinishedChanged();
2060    partial void OnPriorityChanging(int value);
2061    partial void OnPriorityChanged();
2062    partial void OnProjectIdChanging(System.Nullable<System.Guid> value);
2063    partial void OnProjectIdChanged();
2064    partial void OnUserIdChanging(System.Guid value);
2065    partial void OnUserIdChanged();
2066    partial void OnCoresNeededChanging(int value);
2067    partial void OnCoresNeededChanged();
2068    partial void OnMemoryNeededChanging(int value);
2069    partial void OnMemoryNeededChanged();
2070    partial void OnLastHeartbeatChanging(System.Nullable<System.DateTime> value);
2071    partial void OnLastHeartbeatChanged();
2072    #endregion
2073   
2074    public Job()
2075    {
2076      this._AssignedResources = new EntitySet<AssignedResource>(new Action<AssignedResource>(this.attach_AssignedResources), new Action<AssignedResource>(this.detach_AssignedResources));
2077      this._RequiredPlugins = new EntitySet<RequiredPlugin>(new Action<RequiredPlugin>(this.attach_RequiredPlugins), new Action<RequiredPlugin>(this.detach_RequiredPlugins));
2078      this._Jobs = new EntitySet<Job>(new Action<Job>(this.attach_Jobs), new Action<Job>(this.detach_Jobs));
2079      this._Job1 = default(EntityRef<Job>);
2080      this._Project = default(EntityRef<Project>);
2081      this._Slave = default(EntityRef<Slave>);
2082      OnCreated();
2083    }
2084   
2085    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
2086    public System.Guid JobId
2087    {
2088      get
2089      {
2090        return this._JobId;
2091      }
2092      set
2093      {
2094        if ((this._JobId != value))
2095        {
2096          this.OnJobIdChanging(value);
2097          this.SendPropertyChanging();
2098          this._JobId = value;
2099          this.SendPropertyChanged("JobId");
2100          this.OnJobIdChanged();
2101        }
2102      }
2103    }
2104   
2105    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentJobId", DbType="UniqueIdentifier")]
2106    public System.Nullable<System.Guid> ParentJobId
2107    {
2108      get
2109      {
2110        return this._ParentJobId;
2111      }
2112      set
2113      {
2114        if ((this._ParentJobId != value))
2115        {
2116          if (this._Job1.HasLoadedOrAssignedValue)
2117          {
2118            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
2119          }
2120          this.OnParentJobIdChanging(value);
2121          this.SendPropertyChanging();
2122          this._ParentJobId = value;
2123          this.SendPropertyChanged("ParentJobId");
2124          this.OnParentJobIdChanged();
2125        }
2126      }
2127    }
2128   
2129    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_JobState", DbType="VarChar(MAX)", CanBeNull=false)]
2130    public string JobState
2131    {
2132      get
2133      {
2134        return this._JobState;
2135      }
2136      set
2137      {
2138        if ((this._JobState != value))
2139        {
2140          this.OnJobStateChanging(value);
2141          this.SendPropertyChanging();
2142          this._JobState = value;
2143          this.SendPropertyChanged("JobState");
2144          this.OnJobStateChanged();
2145        }
2146      }
2147    }
2148   
2149    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier")]
2150    public System.Nullable<System.Guid> ResourceId
2151    {
2152      get
2153      {
2154        return this._ResourceId;
2155      }
2156      set
2157      {
2158        if ((this._ResourceId != value))
2159        {
2160          if (this._Slave.HasLoadedOrAssignedValue)
2161          {
2162            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
2163          }
2164          this.OnResourceIdChanging(value);
2165          this.SendPropertyChanging();
2166          this._ResourceId = value;
2167          this.SendPropertyChanged("ResourceId");
2168          this.OnResourceIdChanged();
2169        }
2170      }
2171    }
2172   
2173    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ExecutionTime", DbType="VarChar(30)")]
2174    public string ExecutionTime
2175    {
2176      get
2177      {
2178        return this._ExecutionTime;
2179      }
2180      set
2181      {
2182        if ((this._ExecutionTime != value))
2183        {
2184          this.OnExecutionTimeChanging(value);
2185          this.SendPropertyChanging();
2186          this._ExecutionTime = value;
2187          this.SendPropertyChanged("ExecutionTime");
2188          this.OnExecutionTimeChanged();
2189        }
2190      }
2191    }
2192   
2193    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Exception", DbType="VarChar(MAX)")]
2194    public string Exception
2195    {
2196      get
2197      {
2198        return this._Exception;
2199      }
2200      set
2201      {
2202        if ((this._Exception != value))
2203        {
2204          this.OnExceptionChanging(value);
2205          this.SendPropertyChanging();
2206          this._Exception = value;
2207          this.SendPropertyChanged("Exception");
2208          this.OnExceptionChanged();
2209        }
2210      }
2211    }
2212   
2213    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SerializedJob", DbType="VarBinary(MAX)", CanBeNull=false, UpdateCheck=UpdateCheck.Never)]
2214    public System.Data.Linq.Binary SerializedJob
2215    {
2216      get
2217      {
2218        return this._SerializedJob.Value;
2219      }
2220      set
2221      {
2222        if ((this._SerializedJob.Value != value))
2223        {
2224          this.OnSerializedJobChanging(value);
2225          this.SendPropertyChanging();
2226          this._SerializedJob.Value = value;
2227          this.SendPropertyChanged("SerializedJob");
2228          this.OnSerializedJobChanged();
2229        }
2230      }
2231    }
2232   
2233    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCreated", DbType="DateTime")]
2234    public System.Nullable<System.DateTime> DateCreated
2235    {
2236      get
2237      {
2238        return this._DateCreated;
2239      }
2240      set
2241      {
2242        if ((this._DateCreated != value))
2243        {
2244          this.OnDateCreatedChanging(value);
2245          this.SendPropertyChanging();
2246          this._DateCreated = value;
2247          this.SendPropertyChanged("DateCreated");
2248          this.OnDateCreatedChanged();
2249        }
2250      }
2251    }
2252   
2253    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateCalculated", DbType="DateTime")]
2254    public System.Nullable<System.DateTime> DateCalculated
2255    {
2256      get
2257      {
2258        return this._DateCalculated;
2259      }
2260      set
2261      {
2262        if ((this._DateCalculated != value))
2263        {
2264          this.OnDateCalculatedChanging(value);
2265          this.SendPropertyChanging();
2266          this._DateCalculated = value;
2267          this.SendPropertyChanged("DateCalculated");
2268          this.OnDateCalculatedChanged();
2269        }
2270      }
2271    }
2272   
2273    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateFinished", DbType="DateTime")]
2274    public System.Nullable<System.DateTime> DateFinished
2275    {
2276      get
2277      {
2278        return this._DateFinished;
2279      }
2280      set
2281      {
2282        if ((this._DateFinished != value))
2283        {
2284          this.OnDateFinishedChanging(value);
2285          this.SendPropertyChanging();
2286          this._DateFinished = value;
2287          this.SendPropertyChanged("DateFinished");
2288          this.OnDateFinishedChanged();
2289        }
2290      }
2291    }
2292   
2293    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Priority", DbType="Int NOT NULL")]
2294    public int Priority
2295    {
2296      get
2297      {
2298        return this._Priority;
2299      }
2300      set
2301      {
2302        if ((this._Priority != value))
2303        {
2304          this.OnPriorityChanging(value);
2305          this.SendPropertyChanging();
2306          this._Priority = value;
2307          this.SendPropertyChanged("Priority");
2308          this.OnPriorityChanged();
2309        }
2310      }
2311    }
2312   
2313    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="UniqueIdentifier")]
2314    public System.Nullable<System.Guid> ProjectId
2315    {
2316      get
2317      {
2318        return this._ProjectId;
2319      }
2320      set
2321      {
2322        if ((this._ProjectId != value))
2323        {
2324          if (this._Project.HasLoadedOrAssignedValue)
2325          {
2326            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
2327          }
2328          this.OnProjectIdChanging(value);
2329          this.SendPropertyChanging();
2330          this._ProjectId = value;
2331          this.SendPropertyChanged("ProjectId");
2332          this.OnProjectIdChanged();
2333        }
2334      }
2335    }
2336   
2337    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier")]
2338    public System.Guid UserId
2339    {
2340      get
2341      {
2342        return this._UserId;
2343      }
2344      set
2345      {
2346        if ((this._UserId != value))
2347        {
2348          this.OnUserIdChanging(value);
2349          this.SendPropertyChanging();
2350          this._UserId = value;
2351          this.SendPropertyChanged("UserId");
2352          this.OnUserIdChanged();
2353        }
2354      }
2355    }
2356   
2357    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CoresNeeded", DbType="Int NOT NULL")]
2358    public int CoresNeeded
2359    {
2360      get
2361      {
2362        return this._CoresNeeded;
2363      }
2364      set
2365      {
2366        if ((this._CoresNeeded != value))
2367        {
2368          this.OnCoresNeededChanging(value);
2369          this.SendPropertyChanging();
2370          this._CoresNeeded = value;
2371          this.SendPropertyChanged("CoresNeeded");
2372          this.OnCoresNeededChanged();
2373        }
2374      }
2375    }
2376   
2377    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MemoryNeeded", DbType="Int NOT NULL")]
2378    public int MemoryNeeded
2379    {
2380      get
2381      {
2382        return this._MemoryNeeded;
2383      }
2384      set
2385      {
2386        if ((this._MemoryNeeded != value))
2387        {
2388          this.OnMemoryNeededChanging(value);
2389          this.SendPropertyChanging();
2390          this._MemoryNeeded = value;
2391          this.SendPropertyChanged("MemoryNeeded");
2392          this.OnMemoryNeededChanged();
2393        }
2394      }
2395    }
2396   
2397    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastHeartbeat", DbType="DateTime")]
2398    public System.Nullable<System.DateTime> LastHeartbeat
2399    {
2400      get
2401      {
2402        return this._LastHeartbeat;
2403      }
2404      set
2405      {
2406        if ((this._LastHeartbeat != value))
2407        {
2408          this.OnLastHeartbeatChanging(value);
2409          this.SendPropertyChanging();
2410          this._LastHeartbeat = value;
2411          this.SendPropertyChanged("LastHeartbeat");
2412          this.OnLastHeartbeatChanged();
2413        }
2414      }
2415    }
2416   
2417    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_AssignedResource", Storage="_AssignedResources", ThisKey="JobId", OtherKey="JobId")]
2418    public EntitySet<AssignedResource> AssignedResources
2419    {
2420      get
2421      {
2422        return this._AssignedResources;
2423      }
2424      set
2425      {
2426        this._AssignedResources.Assign(value);
2427      }
2428    }
2429   
2430    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_RequiredPlugin", Storage="_RequiredPlugins", ThisKey="JobId", OtherKey="JobId")]
2431    public EntitySet<RequiredPlugin> RequiredPlugins
2432    {
2433      get
2434      {
2435        return this._RequiredPlugins;
2436      }
2437      set
2438      {
2439        this._RequiredPlugins.Assign(value);
2440      }
2441    }
2442   
2443    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_Job", Storage="_Jobs", ThisKey="JobId", OtherKey="ParentJobId")]
2444    public EntitySet<Job> Jobs
2445    {
2446      get
2447      {
2448        return this._Jobs;
2449      }
2450      set
2451      {
2452        this._Jobs.Assign(value);
2453      }
2454    }
2455   
2456    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_Job", Storage="_Job1", ThisKey="ParentJobId", OtherKey="JobId", IsForeignKey=true)]
2457    public Job Job1
2458    {
2459      get
2460      {
2461        return this._Job1.Entity;
2462      }
2463      set
2464      {
2465        Job previousValue = this._Job1.Entity;
2466        if (((previousValue != value)
2467              || (this._Job1.HasLoadedOrAssignedValue == false)))
2468        {
2469          this.SendPropertyChanging();
2470          if ((previousValue != null))
2471          {
2472            this._Job1.Entity = null;
2473            previousValue.Jobs.Remove(this);
2474          }
2475          this._Job1.Entity = value;
2476          if ((value != null))
2477          {
2478            value.Jobs.Add(this);
2479            this._ParentJobId = value.JobId;
2480          }
2481          else
2482          {
2483            this._ParentJobId = default(Nullable<System.Guid>);
2484          }
2485          this.SendPropertyChanged("Job1");
2486        }
2487      }
2488    }
2489   
2490    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_Job", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteRule="SET NULL")]
2491    public Project Project
2492    {
2493      get
2494      {
2495        return this._Project.Entity;
2496      }
2497      set
2498      {
2499        Project previousValue = this._Project.Entity;
2500        if (((previousValue != value)
2501              || (this._Project.HasLoadedOrAssignedValue == false)))
2502        {
2503          this.SendPropertyChanging();
2504          if ((previousValue != null))
2505          {
2506            this._Project.Entity = null;
2507            previousValue.Jobs.Remove(this);
2508          }
2509          this._Project.Entity = value;
2510          if ((value != null))
2511          {
2512            value.Jobs.Add(this);
2513            this._ProjectId = value.ProjectId;
2514          }
2515          else
2516          {
2517            this._ProjectId = default(Nullable<System.Guid>);
2518          }
2519          this.SendPropertyChanged("Project");
2520        }
2521      }
2522    }
2523   
2524    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Slave_Job", Storage="_Slave", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="SET NULL")]
2525    public Slave Slave
2526    {
2527      get
2528      {
2529        return this._Slave.Entity;
2530      }
2531      set
2532      {
2533        Slave previousValue = this._Slave.Entity;
2534        if (((previousValue != value)
2535              || (this._Slave.HasLoadedOrAssignedValue == false)))
2536        {
2537          this.SendPropertyChanging();
2538          if ((previousValue != null))
2539          {
2540            this._Slave.Entity = null;
2541            previousValue.Jobs.Remove(this);
2542          }
2543          this._Slave.Entity = value;
2544          if ((value != null))
2545          {
2546            value.Jobs.Add(this);
2547            this._ResourceId = value.ResourceId;
2548          }
2549          else
2550          {
2551            this._ResourceId = default(Nullable<System.Guid>);
2552          }
2553          this.SendPropertyChanged("Slave");
2554        }
2555      }
2556    }
2557   
2558    public event PropertyChangingEventHandler PropertyChanging;
2559   
2560    public event PropertyChangedEventHandler PropertyChanged;
2561   
2562    protected virtual void SendPropertyChanging()
2563    {
2564      if ((this.PropertyChanging != null))
2565      {
2566        this.PropertyChanging(this, emptyChangingEventArgs);
2567      }
2568    }
2569   
2570    protected virtual void SendPropertyChanged(String propertyName)
2571    {
2572      if ((this.PropertyChanged != null))
2573      {
2574        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
2575      }
2576    }
2577   
2578    private void attach_AssignedResources(AssignedResource entity)
2579    {
2580      this.SendPropertyChanging();
2581      entity.Job = this;
2582    }
2583   
2584    private void detach_AssignedResources(AssignedResource entity)
2585    {
2586      this.SendPropertyChanging();
2587      entity.Job = null;
2588    }
2589   
2590    private void attach_RequiredPlugins(RequiredPlugin entity)
2591    {
2592      this.SendPropertyChanging();
2593      entity.Job = this;
2594    }
2595   
2596    private void detach_RequiredPlugins(RequiredPlugin entity)
2597    {
2598      this.SendPropertyChanging();
2599      entity.Job = null;
2600    }
2601   
2602    private void attach_Jobs(Job entity)
2603    {
2604      this.SendPropertyChanging();
2605      entity.Job1 = this;
2606    }
2607   
2608    private void detach_Jobs(Job entity)
2609    {
2610      this.SendPropertyChanging();
2611      entity.Job1 = null;
2612    }
2613  }
2614 
2615  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.UptimeCalendar")]
2616  public partial class UptimeCalendar : INotifyPropertyChanging, INotifyPropertyChanged
2617  {
2618   
2619    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
2620   
2621    private System.Guid _UptimeCalendarId;
2622   
2623    private System.Guid _ResourceId;
2624   
2625    private System.DateTime _StartDate;
2626   
2627    private System.DateTime _EndDate;
2628   
2629    private bool _AllDayEvent;
2630   
2631    private bool _Recurring;
2632   
2633    private System.Guid _RecurringId;
2634   
2635    private EntityRef<Resource> _Resource;
2636   
2637    #region Extensibility Method Definitions
2638    partial void OnLoaded();
2639    partial void OnValidate(System.Data.Linq.ChangeAction action);
2640    partial void OnCreated();
2641    partial void OnUptimeCalendarIdChanging(System.Guid value);
2642    partial void OnUptimeCalendarIdChanged();
2643    partial void OnResourceIdChanging(System.Guid value);
2644    partial void OnResourceIdChanged();
2645    partial void OnStartDateChanging(System.DateTime value);
2646    partial void OnStartDateChanged();
2647    partial void OnEndDateChanging(System.DateTime value);
2648    partial void OnEndDateChanged();
2649    partial void OnAllDayEventChanging(bool value);
2650    partial void OnAllDayEventChanged();
2651    partial void OnRecurringChanging(bool value);
2652    partial void OnRecurringChanged();
2653    partial void OnRecurringIdChanging(System.Guid value);
2654    partial void OnRecurringIdChanged();
2655    #endregion
2656   
2657    public UptimeCalendar()
2658    {
2659      this._Resource = default(EntityRef<Resource>);
2660      OnCreated();
2661    }
2662   
2663    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UptimeCalendarId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
2664    public System.Guid UptimeCalendarId
2665    {
2666      get
2667      {
2668        return this._UptimeCalendarId;
2669      }
2670      set
2671      {
2672        if ((this._UptimeCalendarId != value))
2673        {
2674          this.OnUptimeCalendarIdChanging(value);
2675          this.SendPropertyChanging();
2676          this._UptimeCalendarId = value;
2677          this.SendPropertyChanged("UptimeCalendarId");
2678          this.OnUptimeCalendarIdChanged();
2679        }
2680      }
2681    }
2682   
2683    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceId", DbType="UniqueIdentifier NOT NULL")]
2684    public System.Guid ResourceId
2685    {
2686      get
2687      {
2688        return this._ResourceId;
2689      }
2690      set
2691      {
2692        if ((this._ResourceId != value))
2693        {
2694          if (this._Resource.HasLoadedOrAssignedValue)
2695          {
2696            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
2697          }
2698          this.OnResourceIdChanging(value);
2699          this.SendPropertyChanging();
2700          this._ResourceId = value;
2701          this.SendPropertyChanged("ResourceId");
2702          this.OnResourceIdChanged();
2703        }
2704      }
2705    }
2706   
2707    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime NOT NULL")]
2708    public System.DateTime StartDate
2709    {
2710      get
2711      {
2712        return this._StartDate;
2713      }
2714      set
2715      {
2716        if ((this._StartDate != value))
2717        {
2718          this.OnStartDateChanging(value);
2719          this.SendPropertyChanging();
2720          this._StartDate = value;
2721          this.SendPropertyChanged("StartDate");
2722          this.OnStartDateChanged();
2723        }
2724      }
2725    }
2726   
2727    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime NOT NULL")]
2728    public System.DateTime EndDate
2729    {
2730      get
2731      {
2732        return this._EndDate;
2733      }
2734      set
2735      {
2736        if ((this._EndDate != value))
2737        {
2738          this.OnEndDateChanging(value);
2739          this.SendPropertyChanging();
2740          this._EndDate = value;
2741          this.SendPropertyChanged("EndDate");
2742          this.OnEndDateChanged();
2743        }
2744      }
2745    }
2746   
2747    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AllDayEvent", DbType="Bit NOT NULL")]
2748    public bool AllDayEvent
2749    {
2750      get
2751      {
2752        return this._AllDayEvent;
2753      }
2754      set
2755      {
2756        if ((this._AllDayEvent != value))
2757        {
2758          this.OnAllDayEventChanging(value);
2759          this.SendPropertyChanging();
2760          this._AllDayEvent = value;
2761          this.SendPropertyChanged("AllDayEvent");
2762          this.OnAllDayEventChanged();
2763        }
2764      }
2765    }
2766   
2767    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Recurring", DbType="Bit NOT NULL")]
2768    public bool Recurring
2769    {
2770      get
2771      {
2772        return this._Recurring;
2773      }
2774      set
2775      {
2776        if ((this._Recurring != value))
2777        {
2778          this.OnRecurringChanging(value);
2779          this.SendPropertyChanging();
2780          this._Recurring = value;
2781          this.SendPropertyChanged("Recurring");
2782          this.OnRecurringChanged();
2783        }
2784      }
2785    }
2786   
2787    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RecurringId", DbType="UniqueIdentifier")]
2788    public System.Guid RecurringId
2789    {
2790      get
2791      {
2792        return this._RecurringId;
2793      }
2794      set
2795      {
2796        if ((this._RecurringId != value))
2797        {
2798          this.OnRecurringIdChanging(value);
2799          this.SendPropertyChanging();
2800          this._RecurringId = value;
2801          this.SendPropertyChanged("RecurringId");
2802          this.OnRecurringIdChanged();
2803        }
2804      }
2805    }
2806   
2807    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_UptimeCalendar", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")]
2808    public Resource Resource
2809    {
2810      get
2811      {
2812        return this._Resource.Entity;
2813      }
2814      set
2815      {
2816        Resource previousValue = this._Resource.Entity;
2817        if (((previousValue != value)
2818              || (this._Resource.HasLoadedOrAssignedValue == false)))
2819        {
2820          this.SendPropertyChanging();
2821          if ((previousValue != null))
2822          {
2823            this._Resource.Entity = null;
2824            previousValue.UptimeCalendars.Remove(this);
2825          }
2826          this._Resource.Entity = value;
2827          if ((value != null))
2828          {
2829            value.UptimeCalendars.Add(this);
2830            this._ResourceId = value.ResourceId;
2831          }
2832          else
2833          {
2834            this._ResourceId = default(System.Guid);
2835          }
2836          this.SendPropertyChanged("Resource");
2837        }
2838      }
2839    }
2840   
2841    public event PropertyChangingEventHandler PropertyChanging;
2842   
2843    public event PropertyChangedEventHandler PropertyChanged;
2844   
2845    protected virtual void SendPropertyChanging()
2846    {
2847      if ((this.PropertyChanging != null))
2848      {
2849        this.PropertyChanging(this, emptyChangingEventArgs);
2850      }
2851    }
2852   
2853    protected virtual void SendPropertyChanged(String propertyName)
2854    {
2855      if ((this.PropertyChanged != null))
2856      {
2857        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
2858      }
2859    }
2860  }
2861 
2862  [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.HiveExperiment")]
2863  public partial class HiveExperiment : INotifyPropertyChanging, INotifyPropertyChanged
2864  {
2865   
2866    private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
2867   
2868    private System.Guid _HiveExperimentId;
2869   
2870    private string _Name;
2871   
2872    private string _Description;
2873   
2874    private string _ResourceIds;
2875   
2876    private System.Guid _UserId;
2877   
2878    private System.Nullable<System.Guid> _RootJobId;
2879   
2880    private EntityRef<Job> _Job;
2881   
2882    #region Extensibility Method Definitions
2883    partial void OnLoaded();
2884    partial void OnValidate(System.Data.Linq.ChangeAction action);
2885    partial void OnCreated();
2886    partial void OnHiveExperimentIdChanging(System.Guid value);
2887    partial void OnHiveExperimentIdChanged();
2888    partial void OnNameChanging(string value);
2889    partial void OnNameChanged();
2890    partial void OnDescriptionChanging(string value);
2891    partial void OnDescriptionChanged();
2892    partial void OnResourceIdsChanging(string value);
2893    partial void OnResourceIdsChanged();
2894    partial void OnUserIdChanging(System.Guid value);
2895    partial void OnUserIdChanged();
2896    partial void OnRootJobIdChanging(System.Nullable<System.Guid> value);
2897    partial void OnRootJobIdChanged();
2898    #endregion
2899   
2900    public HiveExperiment()
2901    {
2902      this._Job = default(EntityRef<Job>);
2903      OnCreated();
2904    }
2905   
2906    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
2907    public System.Guid HiveExperimentId
2908    {
2909      get
2910      {
2911        return this._HiveExperimentId;
2912      }
2913      set
2914      {
2915        if ((this._HiveExperimentId != value))
2916        {
2917          this.OnHiveExperimentIdChanging(value);
2918          this.SendPropertyChanging();
2919          this._HiveExperimentId = value;
2920          this.SendPropertyChanged("HiveExperimentId");
2921          this.OnHiveExperimentIdChanged();
2922        }
2923      }
2924    }
2925   
2926    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="VarChar(MAX)", CanBeNull=false)]
2927    public string Name
2928    {
2929      get
2930      {
2931        return this._Name;
2932      }
2933      set
2934      {
2935        if ((this._Name != value))
2936        {
2937          this.OnNameChanging(value);
2938          this.SendPropertyChanging();
2939          this._Name = value;
2940          this.SendPropertyChanged("Name");
2941          this.OnNameChanged();
2942        }
2943      }
2944    }
2945   
2946    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description", DbType="VarChar(MAX)")]
2947    public string Description
2948    {
2949      get
2950      {
2951        return this._Description;
2952      }
2953      set
2954      {
2955        if ((this._Description != value))
2956        {
2957          this.OnDescriptionChanging(value);
2958          this.SendPropertyChanging();
2959          this._Description = value;
2960          this.SendPropertyChanged("Description");
2961          this.OnDescriptionChanged();
2962        }
2963      }
2964    }
2965   
2966    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResourceIds", DbType="VarChar(MAX)")]
2967    public string ResourceIds
2968    {
2969      get
2970      {
2971        return this._ResourceIds;
2972      }
2973      set
2974      {
2975        if ((this._ResourceIds != value))
2976        {
2977          this.OnResourceIdsChanging(value);
2978          this.SendPropertyChanging();
2979          this._ResourceIds = value;
2980          this.SendPropertyChanged("ResourceIds");
2981          this.OnResourceIdsChanged();
2982        }
2983      }
2984    }
2985   
2986    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier")]
2987    public System.Guid UserId
2988    {
2989      get
2990      {
2991        return this._UserId;
2992      }
2993      set
2994      {
2995        if ((this._UserId != value))
2996        {
2997          this.OnUserIdChanging(value);
2998          this.SendPropertyChanging();
2999          this._UserId = value;
3000          this.SendPropertyChanged("UserId");
3001          this.OnUserIdChanged();
3002        }
3003      }
3004    }
3005   
3006    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RootJobId", DbType="UniqueIdentifier")]
3007    public System.Nullable<System.Guid> RootJobId
3008    {
3009      get
3010      {
3011        return this._RootJobId;
3012      }
3013      set
3014      {
3015        if ((this._RootJobId != value))
3016        {
3017          if (this._Job.HasLoadedOrAssignedValue)
3018          {
3019            throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
3020          }
3021          this.OnRootJobIdChanging(value);
3022          this.SendPropertyChanging();
3023          this._RootJobId = value;
3024          this.SendPropertyChanged("RootJobId");
3025          this.OnRootJobIdChanged();
3026        }
3027      }
3028    }
3029   
3030    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Job_HiveExperiment", Storage="_Job", ThisKey="RootJobId", OtherKey="JobId", IsForeignKey=true, DeleteRule="CASCADE")]
3031    public Job RootJob
3032    {
3033      get
3034      {
3035        return this._Job.Entity;
3036      }
3037      set
3038      {
3039        if ((this._Job.Entity != value))
3040        {
3041          this.SendPropertyChanging();
3042          this._Job.Entity = value;
3043          this.SendPropertyChanged("RootJob");
3044        }
3045      }
3046    }
3047   
3048    public event PropertyChangingEventHandler PropertyChanging;
3049   
3050    public event PropertyChangedEventHandler PropertyChanged;
3051   
3052    protected virtual void SendPropertyChanging()
3053    {
3054      if ((this.PropertyChanging != null))
3055      {
3056        this.PropertyChanging(this, emptyChangingEventArgs);
3057      }
3058    }
3059   
3060    protected virtual void SendPropertyChanged(String propertyName)
3061    {
3062      if ((this.PropertyChanged != null))
3063      {
3064        this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
3065      }
3066    }
3067  }
3068}
3069#pragma warning restore 1591
Note: See TracBrowser for help on using the repository browser.