Вы не можете иметь множественное наследование в .net, оно не поддерживается (и то же самое относится к инфраструктуре сущности). Вы можете реализовать несколько интерфейсов, но это немного другое понятие, то есть «Рабочий» может быть интерфейсом, который реализуется некоторыми объектами, такими как клиент
В структуре сущности я считаю, что дискриминатор реализуется только при использовании таблица на иерархию. В этом случае оба дочерних объекта хранятся в одной таблице, а дискриминатор идентифицирует, что есть.
таблица на тип, по существу, где лица (лицо, клиент, работник), хранятся в разных таблицах, но доступны в качестве отдельных лиц в коде (т.е. клиент с наследством от человека)
It может быть, вам нужно создать интерфейс (возможно, IWorker) и создать класс (возможно, WorkerCustomer?), который наследуется от Клиента и реализует IWorker.
EDIT: 15/02/2013 19:00
Итак, ниже может быть то, что вы ищете в плане, представляющий данные в одной таблице:
public class MyDbContext : DbContext
{
public MyDbContext() : base("TestDB")
{
}
public DbSet<Person> People { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbSet<Worker> Workers { get; set; }
public DbSet<WorkerCustomer> WorkerCustomers { get; set; }
}
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Customer : Person
{
public string CustomerNumber { get; set; }
}
public interface IWorker
{
string WorkerNumber { get; set; }
}
public class Worker : Person, IWorker
{
public string WorkerNumber { get; set; }
}
public class WorkerCustomer : Customer
{
public string WorkerNumber { get; set; }
}
Но в в этом случае не существует множественного наследования, так как Worker наследует только от Person и Customer, наследует только от Person. Извините, если я не очень хорошо себя объяснил. Возможно, у меня проблема с определением моих сущностей. Спасибо за вашу помощь. – JMGH
Я не уверен на 100%, я знаю, что вы ищете, но я изменил свой ответ на примере того, как вы могли бы подойти к этому, и иметь структуру таблицы, такую как та, которую вы упоминаете, - я думаю! –