I am using T4MVC with MVC2.
I have the following building blocks:
A simple entity interface which defines that every POCO entity must have a
long Id
property:public interface IEntity { public long Id; }
A simple POCO class which implements the
IEntity
interface and has some string properties:public class CD : IEntity { public long Id { get; set; } public long Name { get; set; } }
A base controller:
public abstract class EntityController<T> : Controller where T : class, global::IEntity { public EntityController(IEntityManager<T> manager); }
I use this base controller in my
CDController
(whereCDManager
implements theIEntityManager
interface, which is a UnitOfWork pattern to add CRUD functionality):public partial class CDController : EntityController<CD> { public CDController() : base(new CDManager()) { } }
When I run my t4 template, this code is generated:
namespace MyApp.Web.Controllers {
public partial class CDController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected CDController(Dummy d) { }
But this gives me an error during compilation:
MyApp.EntityController<CD> does not contain a constructor that takes 0 arguments
How can I solve this?