Я создаю приложение следующим образом;MVC Plugin Architecture и Entityframework
В базе данных есть только одна таблица и домен как базовый объект (Ipage), который представляет собой страницу html при просмотре публикой. Наследование это объект (IPageBuilder), который содержит информацию, необходимую для сборки страницы, просмотр администратора. Концепция заключается в предварительном просмотре страниц на стороне администратора и хранении всего в одной таблице. Ниже приведен интерфейс класса для этих двух сущностей:
public interface IPage
{
string BodyPreRender { get; set; }
string ExcerptPreRender { get; set; }
int ID { get; set; }
bool IsPublished { get; set; }
string Key { get; set; }
string MetaTagsPreRender { get; set; }
int Order { get; set; }
string PageKey { get; set; }
}
public interface IPageBuild : IPage
{
string Author { get; set; }
string CreatedBy { get; set; }
DateTime CreatedOn { get; set; }
string Description { get; set; }
string EditListItemPreRender { get; set; }
string Html { get; set; }
string Keywords { get; set; }
string Language { get; set; }
string MetaDescription { get; set; }
DateTime? ReleasedOn { get; set; }
string Title { get; set; }
int Version { get; set; }
}
Я создал менеджер плагин, который будет открыть библиотеку DLL, содержащую интерфейс дескриптора плагина и создать список плагинов для использования в приложении. Вот интерфейс плагина дескриптор:
internal interface IPluginDescriptor
{
Assembly Assembly { get; }
string Author { get; }
string AuthorUrl { get; }
Type DomainType { get; }
PlugInFactories Factories { get; }
void Install();
string Key { get; }
string MenuName { get; }
string Name { get; }
string PageKey { get; }
PluginRoute Route { get; }
string SupportUrl { get; }
void Uninstall();
Version Version { get; }
}
То, что я хотел бы сделать, это создать объект домена в пределах плагин, который основан на классе строителем базовой страницы, что позволяет плагин для создания и хранения любой веб-страницы он хочет, например:
public class Foo : IPageBuild
{
public string FooInfo { get; set; }
}
в запуске приложения я хотел бы запустить метод в моем плагине дескриптора, вызовите его установить(), который проверяет таблицу данных и посмотреть, если он имеет столбец FooInfo , Итак, что является лучшим методом для выполнения этой задачи? Заранее спасибо.
Кроме того у меня есть настройки столбцов в таблице должен быть отформатирован как:
- Page_BodyPreRender,
- Page_ExcerptPreRender,
- и т.д.,
- Foo_FooInfo
Я с использованием
- .Net Framework 4.0
- Entity Framework 4.3.1.0
- System.Data.SqlServerCe.Entity4.0.0.0
- System.Web.Mvc 3.0.0.0
Рассмотрите принятие этого как ответ, который сработал лучше всего для вас. Таким образом, все знают, что ваша проблема решена. – Marijn