Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Modeling Database Backend/sources/HeuristicLab.Modeling.Database.SQLServerCompact/3.2/DataObjects/ModelResult.cs @ 2203

Last change on this file since 2203 was 2203, checked in by mkommend, 15 years ago

corrected bugs in database sqlservercompact (ticket #712)

File size: 2.8 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Data.Linq;
4using System.Data.Linq.Mapping;
5using System.Text;
6
7namespace HeuristicLab.Modeling.Database.SQLServerCompact {
8  [Table(Name = "ModelResult")]
9  public class ModelResult : IModelResult {
10    public ModelResult() {
11      this.model = default(EntityRef<Model>);
12      this.result = default(EntityRef<Result>);
13    }
14
15    public ModelResult(Model model, Result result, double value)
16      : this() {
17      this.modelId = model.Id;
18      this.resultId = result.Id;
19      this.value = value;
20    }
21
22    private double value;
23    [Column(Storage = "value", CanBeNull = false)]
24    public double Value {
25      get { return this.value; }
26      set { this.value = value; }
27    }
28
29    private int modelId;
30    [Column(Storage = "modelId",IsPrimaryKey = true, CanBeNull = false)]
31    public int ModelId {
32      get { return this.modelId; }
33      private set {
34        if (modelId != value) {
35          if (model.HasLoadedOrAssignedValue)
36            throw new ForeignKeyReferenceAlreadyHasValueException();
37        }
38        modelId = value;
39      }
40    }
41
42    private EntityRef<Model> model;
43    [Association(Storage = "model", ThisKey = "ModelId", OtherKey = "Id", IsForeignKey = true)]
44    public Model Model {
45      get { return this.model.Entity; }
46      //set {
47      //  Model previousValue = model.Entity;
48      //  if (previousValue != value || (!model.HasLoadedOrAssignedValue)) {
49      //    if (previousValue != null) {
50      //      model.Entity = null;
51      //    }
52      //    model.Entity = value;
53      //    if (value != null) {
54      //      modelId = value.Id;
55      //    }
56      //  }
57      //}
58    }
59
60    IModel IModelResult.Model {
61      get { return this.Model; }
62    }
63
64    private int resultId;
65    [Column(Storage = "resultId",IsPrimaryKey = true, CanBeNull = false)]
66    public int ResultId {
67      get { return this.resultId; }
68      private set {
69        if (resultId != value) {
70          if (result.HasLoadedOrAssignedValue)
71            throw new ForeignKeyReferenceAlreadyHasValueException();
72        }
73        modelId = value;
74      }
75    }
76
77    private EntityRef<Result> result;
78    [Association(Storage = "result", ThisKey = "ResultId", OtherKey = "Id", IsForeignKey = true)]
79    public Result Result {
80      get { return this.result.Entity; }
81      //set {
82      //  Result previousValue = result.Entity;
83      //  if (previousValue != value || (!model.HasLoadedOrAssignedValue)) {
84      //    if (previousValue != null) {
85      //      result.Entity = null;
86      //    }
87      //    result.Entity = value;
88      //    if (value != null) {
89      //      resultId = value.Id;
90      //    }
91      //  }
92      //}
93    }
94
95    IResult IModelResult.Result {
96      get { return this.Result; }
97    }
98
99  }
100}
Note: See TracBrowser for help on using the repository browser.