Я использую T4MVC с MVC2.
У меня есть следующие строительные блоки:
Простой интерфейс сущности, который определяет, что каждая сущность POCO должна иметь свойство с длинным идентификатором
:
открытый интерфейс IEntity
{
общедоступный длинный идентификатор;
}
Простой класс POCO, который реализует интерфейс IEntity
и имеет некоторые строковые свойства:
открытый класс CD: IEntity
{
общедоступный длинный идентификатор {получить; набор; }
публичное длинное имя {получить; набор; }
}
Базовый контроллер:
открытый абстрактный класс EntityController : Controller, где T: class, global :: IEntity
{
общедоступный EntityController (менеджер IEntityManager );
}
Я использую этот базовый контроллер в моем CDController
(где CDManager
реализует интерфейс IEntityManager
, который является шаблоном UnitOfWork для добавления функциональности CRUD):
общедоступный частичный класс CDController: EntityController
{
public CDController (): base (новый CDManager ()) {}
}
Когда я запускаю свой шаблон t4, создается следующий код:
namespace MyApp.Web.Controllers {
public partial class CDController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected CDController(Dummy d) { }
Но это дает мне ошибку во время компиляции:
MyApp.EntityController
не содержит конструктора, который принимает 0 аргументов
Как можно Я решаю эту проблему?