1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle
.ActiveRecord
.Tests
.Model
19 [ActiveRecord("Employee")]
20 public class Employee
: ActiveRecordBase
23 private string firstName
;
24 private string lastName
;
27 [PrimaryKey(PrimaryKeyType
.Native
, "EmployeeID")]
35 public string FirstName
37 get { return firstName; }
38 set { firstName = value; }
42 public string LastName
44 get { return lastName; }
45 set { lastName = value; }
52 set { award = value; }
55 public static Employee
Find(int id
)
57 return ((Employee
) (ActiveRecordBase
.FindByPrimaryKey(typeof(Employee
), id
)));
60 public static Employee
[] FindAll()
62 return ((Employee
[]) (ActiveRecordBase
.FindAll(typeof(Employee
))));
65 public static void DeleteAll()
67 ActiveRecordBase
.DeleteAll(typeof(Employee
));
71 [ActiveRecord("Award")]
72 public class Award
: ActiveRecordBase
74 private Employee employee
;
75 private string description
;
82 public Award(Employee employee
)
84 this.employee
= employee
;
87 [OneToOne(Constrained
=true)]
88 public Employee Employee
90 get { return employee; }
91 set { employee = value; }
94 [PrimaryKey(PrimaryKeyType
.Foreign
, "EmployeeID")]
102 public string Description
104 get { return description; }
105 set { description = value; }
108 public static Award
[] FindAll()
110 return ((Award
[]) (ActiveRecordBase
.FindAll(typeof(Award
))));
113 public static void DeleteAll()
115 ActiveRecordBase
.DeleteAll(typeof(Award
));