我将 T4MVC 与 MVC2 一起使用。
我有以下构建块:
一个简单的实体接口,它定义了每个 POCO 实体必须有一个
long Id
属性:public interface IEntity { public long Id; }
一个简单的 POCO 类,它实现了
IEntity
接口并具有一些字符串属性:public class CD : IEntity { public long Id { get; set; } public long Name { get; set; } }
基础控制器:
public abstract class EntityController<T> : Controller where T : class, global::IEntity { public EntityController(IEntityManager<T> manager); }
我在我的
CDController
(CDManager
实现IEntityManager
接口,这是一个 UnitOfWork 模式以添加 CRUD 功能)中使用这个基本控制器:public partial class CDController : EntityController<CD> { public CDController() : base(new CDManager()) { } }
当我运行我的 t4 模板时,会生成以下代码:
namespace MyApp.Web.Controllers {
public partial class CDController {
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
protected CDController(Dummy d) { }
但这在编译期间给了我一个错误:
MyApp.EntityController<CD> 不包含采用 0 个参数的构造函数
我该如何解决这个问题?