Entity FrameworkオブジェクトであるエンティティEntityAを持っている場合、作成時に異なる動作をどのように注入するのですか?ビヘイビアをEntity Frameworkオブジェクトコンストラクタに挿入するにはどうすればよいですか?
これらの特定のエンティティは、いくつかの計算に異なる戦略を利用する必要があります。オブジェクトを作成するときにDIを使用して正しい戦略を提供したいと思います。傍受する方法はありますか?
投稿日: 私は以下の2つのパターンを考えています(ポイントを取得するには擬似)。あなただけの部分クラスに1を追加できるように
public partial class Entity
{
public Entity(ICalculationStrategy strategy)
{
_calcStrategy = strategy;
}
}
public partial class Entity
{
public Entity(ICalculationFactory factory)
{
_calcStrategy = factory.ProvideCalculator(this);
}
}
これらの2つのパターンは大きく異なりません。この特定のインスタンスで使用される戦略を決定する要因は何になっているのかはまだわかりません。 – Thorarin
それは難しい部分です。今行われる方法は、クラス名に一致するEntity属性(name)を使用して、正しい電卓インスタンス(Activator)を動的に作成することです。この時点でこれについて間違って考えているのかどうかはわかりません。 – Christian