EF4 CTP5 CodeFirst проблема моделирования - PullRequest
0 голосов
/ 05 июня 2011

Я новичок в EF4 CTP5, и я хочу создать модель ниже, например, каждая таблица имеет одинаковые поля (идентификатор, текст, значение), я не хочу помещать их все в одну таблицу, могу ли я использовать базовый класс ? но я не знаю, как это будет моя модель домена?

public class BaseSearchType
{
   public int Id {get;set;}
   public int text{get;set;}
   public int value {get;set;}
}

public class BooleanSearchTypeTable :BaseSearchType
{

}

public class JobStatusSearchTypeTable:BaseSearchType
{

}

public class PersonStatusSearchTypeTable: BaseSearchType
{

}

Таблица

BooleanSearchTypeTable 
-----------------
id text value
1   All  0
2   Yes  1
3   No   2

JobStatusSearchTypeTable
-----------------
id text value
1   Open  0
2   Closed  1
3   Approved   2
4   Rejected 3
5   Waiting 4

PersonStatusSearchTypeTable
id text value
1   Work 0
2   Seek 1
3   Vacation 2

Ответы [ 2 ]

2 голосов
/ 05 июня 2011

Они не будут отображаться в одной таблице, пока вы не попросите EF сделать это. Просто определите ваши классы как:

public abstract class BaseSearchType
{
    public int Id { get; set; }
    public string text { get; set; }
    public int value { get; set; }
}

public class BooleanSearchTypeTable : BaseSearchType
{ }

public class JobStatusSearchTypeTable : BaseSearchType
{ }

public class PersonStatusSearchTypeTable : BaseSearchType
{ }

А ваш контекст вроде:

public class Context : DbContext
{
    public DbSet<JobStatusSearchTypeTable> JobStatuses { get; set; }
    public DbSet<BooleanSearchTypeTable> BooleanStatuses { get; set; }
    public DbSet<PersonStatusSearchTypeTable> PersonStatuses { get; set; }
}
0 голосов
/ 05 июня 2011
...