t4mvc: Não é possível herdar uma classe de controlador que não possui construtor padrã
Estou usando o T4MVC com MVC2.
Tenho os seguintes blocos de construção:
Uma interface de entidade simples que define que toda entidade POCO deve ter umlong Id
propriedade:
public interface IEntity
{
public long Id;
}
Uma classe POCO simples que implementa oIEntity
interface e possui algumas propriedades de sequência:
public class CD : IEntity
{
public long Id { get; set; }
public long Name { get; set; }
}
Um controlador de base:
public abstract class EntityController<T> : Controller where T : class, global::IEntity
{
public EntityController(IEntityManager<T> manager);
}
Eu uso este controlador de base no meuCDController
(OndeCDManager
implementa oIEntityManager
interface, que é um padrão UnitOfWork para adicionar a funcionalidade CRUD):
public partial class CDController : EntityController<CD>
{
public CDController() : base(new CDManager()) { }
}
Quando executo meu modelo t4, esse código é gerado:
namespace MyApp.Web.Controllers {
public partial class CDController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected CDController(Dummy d) { }
Mas isso me dá um erro durante a compilação:
MyApp.EntityController <CD> não contém um construtor que aceita 0 argumentos
Como posso resolver isso