【问题标题】:How Initialize T type c#如何初始化T类型c#
【发布时间】:2014-07-10 00:15:44
【问题描述】:

我有一个 BaseController。

 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);

    }
}

在 Edit Action 中,检查验证,从上下文中查找实体并填充 Edit data Transfer Object (DTO) EditDTO 和 ent 有一些属性。 如何自动初始化一个 T 和另一个具有相同名称和类型的属性的 t 类型

【问题讨论】:

    标签: c# asp.net-mvc entity-framework dto


    【解决方案1】:

    我建议AutoMapper

    AutoMapper 是一个简单的小库,旨在解决看似复杂的问题 - 摆脱将一个对象映射到另一个对象的代码。这种类型的代码写起来比较枯燥乏味,为什么不发明一个工具来帮我们做呢?

    【讨论】:

    • 想知道为什么有人会否决这个答案,然后不发表评论。
    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多