Общий метод расширения для автопреобразования

public abstract class Entity : IEntity
{
    [Key]
    public virtual int Id { get; set; }
}

public class City:Entity
{
    public string Code { get; set; }
}

public class BaseViewModel:IBaseViewModel
{
    public int Id { get; set; }
}

public class CityModel:BaseViewModel
{
    public string Code { get; set; }
}

мой домен и классы просмотра...

и

для расширения сопоставления

public static TModel ToModel<TModel,TEntity>(this TEntity entity)
    where TModel:IBaseViewModel where TEntity:IEntity
{
    return Mapper.Map<TEntity, TModel>(entity);
}

, и я использую, как показано ниже

City city = GetCity(Id);
CityModel model = f.ToModel<CityModel, City>();

, но это длинно

, могу ли я написать это как ниже?

City city = GetCity(Id);
CityModel model = f.ToModel();

это возможно?

5
задан Olivier Jacot-Descombes 22 March 2012 в 13:00
поделиться