如何初始化T类型c#

如何初始化T类型c#,c#,asp.net-mvc,entity-framework,dto,C#,Asp.net Mvc,Entity Framework,Dto,我有一个基本控制器 public abstract class BaseController<TEntity, TNewDTO, TEditDTO> : Controller, ICrudController<TNewDTO, TEditDTO> where TEntity : class where TNewDTO : new() where TEditDTO : new() { public virtu

我有一个基本控制器

 public abstract class BaseController<TEntity, TNewDTO, TEditDTO> : Controller, ICrudController<TNewDTO, TEditDTO>
        where TEntity : class
        where TNewDTO : new()
        where TEditDTO : new()
    {
    public virtual ActionResult Edit(int? Id)
    {
        if (Id == null) return new HttpStatusCodeResult(400);
        var ent = _db.Set<TEntity>().Find(Id);
        if (ent == null) return new HttpStatusCodeResult(404);

        var editDTO = new TEditDTO();

        editDTO = ent; // how initilze?


        return View(editDTO);

    }
}
公共抽象类BaseController:Controller,ICrudController
地点:班级
其中TNewDTO:new()
其中TEditDTO:new()
{
公共虚拟操作结果编辑(int?Id)
{
if(Id==null)返回新的HttpStatusCodeResult(400);
var ent=_db.Set().Find(Id);
if(ent==null)返回新的HttpStatusCodeResult(404);
var editDTO=新的TEditDTO();
editDTO=ent;//如何初始化?
返回视图(editDTO);
}
}
在编辑操作中,检查验证,从上下文中查找实体并填写编辑数据传输对象(DTO) EditDTO和ent具有一些属性我建议如何使用具有相同名称和类型属性的另一个T类型自动初始化一个T

AutoMapper是一个简单的小型库,用于解决一个看似复杂的问题——摆脱将一个对象映射到另一个对象的代码。这种类型的代码编写起来相当枯燥乏味,所以为什么不发明一种工具来为我们完成它呢


不知道为什么有人会否决这个答案,然后不发表评论。