UI にバインドされる EF エンティティとサロゲート型などのエンティティを操作する方法について問題があります。
次のクラスがあるとします
// 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; }
}
今、私は db から取得し、自分のエンティティを表すList<Car>
を作成したいと考えています。List<SurrogateCar>
これはさまざまな方法で簡単に実行できます。そのうちの 1 つを次のようにします。
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 });
}
または、カスタム キャスト メソッドを作成することもできます。ただ、気になるのは演出です。このメソッドは頻繁に呼び出されるため、リストを作成して 1 つずつ入力することは、潜在的な問題のように思えます。
これを行うためのより良い方法はありますか、またはこのように使用しても問題ありませんか?
ありがとう。