t4mvc: ¿No puede heredar una clase de controlador que no tiene un constructor predeterminado?
Estoy usando T4MVC con MVC2.
Tengo los siguientes bloques de construcción:
na interfaz de entidad simple que define que cada entidad POCO debe tener unalong Id
propiedad
public interface IEntity
{
public long Id;
}
Una clase POCO simple que implementa laIEntity
interfaz y tiene algunas propiedades de cadena:
public class CD : IEntity
{
public long Id { get; set; }
public long Name { get; set; }
}
Un controlador base:
public abstract class EntityController<T> : Controller where T : class, global::IEntity
{
public EntityController(IEntityManager<T> manager);
}
Uso este controlador base en miCDController
(dóndeCDManager
implementa elIEntityManager
interfaz, que es un patrón UnitOfWork para agregar la funcionalidad CRUD):
public partial class CDController : EntityController<CD>
{
public CDController() : base(new CDManager()) { }
}
Cuando ejecuto mi plantilla t4, se genera este código:
namespace MyApp.Web.Controllers {
public partial class CDController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected CDController(Dummy d) { }
Pero esto me da un error durante la compilación:
MyApp.EntityController <CD> no contiene un constructor que tome 0 argumentos
¿Como puedo resolver esto