我正在使用T4MVC和MVC2.
我有以下构建基块:
一个简单的实体接口,定义每个POCO实体必须具有long Id属性:
public interface IEntity
{
public long Id;
}
Run Code Online (Sandbox Code Playgroud)一个简单的POCO类,它实现了IEntity接口并具有一些字符串属性:
public class CD : IEntity
{
public long Id { get; set; }
public long Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)基础控制器:
public abstract class EntityController<T> : Controller where T : class, global::IEntity
{
public EntityController(IEntityManager<T> manager);
}
Run Code Online (Sandbox Code Playgroud)我在my中使用这个基本控制器CDController(其中CDManager实现了IEntityManager接口,这是一个UnitOfWork模式来添加CRUD功能):
public partial class CDController : EntityController<CD>
{
public CDController() : base(new CDManager()) { }
}
Run Code Online (Sandbox Code Playgroud)当我运行我的t4模板时,会生成以下代码:
namespace MyApp.Web.Controllers …Run Code Online (Sandbox Code Playgroud)