У меня есть две таблицы в моей базе данных. Они выглядят так (это просто простой пример, есть, вероятно, ошибки в коде)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; }
}
Я редактировал свой титул. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –