2015-05-19 9 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/Interface, где я сохраняю свою дублируемую информацию? Что-то вроде:

[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/), где консенсус« нет, они не должны ». –

ответ