I am having some problem about how to work with an entity say an EF entity and a surrogate type, which will be bound to the UI.
Suppose that I have following classes
    // Db Entity
    public class Car
    {
        public virtual int Id { get; set; }
        public string ChassisNumber { get; set; }
        public virtual string Brand { get; set; }
        public virtual string Name { get; set; }
    }
    // Surrogate type that reflects some properties of Car entity
    // This class will be bound to UI
    public class SurrogateCar
    {
        public string Brand { get; set; }
        public string Name { get; set; }
    }
Now I will be getting List<Car> from db and want to create a List<SurrogateCar> that represents my entities. I can do this easily in many ways, one of them like this:
      List<Car> cars = CarTable.GetMyCars(); // Just a dummy method, suppose it returns all entities from Db.
      List<SurrogateCar> surrogates = new List<SurrogateCar>();
      foreach (var car in cars)
      {
           surrogates.Add(new SurrogateCar { Brand = car.Brand, Name = car.Name });
      }
or I can write a custom cast method. But what I worry about is the performance. This method will be called frequently, so creating a list and populating it one by one seems a potential problem to me.
Do you have any better ways to do this, or is it okay to use it like this?
Thanks.
 
     
     
     
    