2015-05-19 25 views
0

我在我的數據庫有兩個表。他們看起來像這樣(這只是一個簡單的例子,也有可能是代碼錯誤)activerecord有兩個相似的表

create table Person 
(
    id int, 
    name nvarchar(50), 
    surname nvarchar(50), 
    street nvarchar(50), 
    city nvarchar(50) 
) 

create table Organisation 
(
    id int, 
    name nvarchar(50), 
    contact int Foreign Key Person(Id) 
    street nvarchar(50), 
    city nvarchar(50) 
) 

現在我要創建我的ActiveRecord類。但是大約90%的列具有相同的信息。有沒有辦法創建一個抽象的ActiveRecord類/接口,我保存我的重複信息?喜歡的東西:

[ActiveRecord] 
public abstract class/interface Customer 
{ 
    [PrimaryKey(Generator = PrimaryKeyType.Identity)] 
    long Id { get; set; } 

    [Property] 
    string name { get; set; } 

    [Property] 
    string street { get; set; } 

    [Property] 
    string city { get; set; } 
} 

[ActiveRecord (Table = "Person")] 
public class Person : Customer 
{ 
    [Property] 
    public string surname { get; set; } 
} 

[ActiveRecord (Table = "Organisation")] 
public class Organisation : Customer 
{ 
    [BelongsTo(Column = "contact", ForeignKey = "FK_Person_Contact")] 
    public Person Contact { get; set; } 
} 
+0

我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

回答