В настоящее время я делаю следующее, чтобы удалить все классы EF, которые я не хочу включать.Но это означает, что я должен перечислить все классы.
protected override void OnModelCreating(DbModelBuilder AModelBuilder)
{
// Remove any classes that we don't want in the database. These are our derived classes
AModelBuilder.Ignore<TCompetition>();
AModelBuilder.Ignore<TCompeitionLadder>();
AModelBuilder.Ignore<TCompeitionPersonRole>();
AModelBuilder.Ignore<TCountry>();
AModelBuilder.Ignore<TSport>();
AModelBuilder.Ignore<TVenue>();
}
Поэтому вместо этого я подумал, что буду использовать отражение, чтобы получить список типов в сборке, а затем удалить все ссылки на классы, которые я не хочу включать,Однако я не могу заставить это работать, поскольку объект Type не является ожидаемым ссылочным типом класса, необходимым для Ignore ().Кто-нибудь может указать мне правильное направление, пожалуйста?
protected override void OnModelCreating(DbModelBuilder AModelBuilder)
{
// Remove any classes that we don't want in the database. These are our derived classes
Assembly objAssembly = Assembly.GetExecutingAssembly();
foreach (Type objType in objAssembly.GetTypes())
{
if (objType.BaseType.FullName.StartsWith("TEntityFramework", true, null))
{
AModelBuilder.Ignore<objType>();
}
}
}