1
在「ProDinner」項目中,ValueInjecter用於映射。我使用最新版本,在實體和int []之間進行轉換時,用最新版本替換ConventionInjection和LoopInjection, EntitiesToInts類別:將int []轉換爲使用值注入器的實體
public class EntitiesToInts : LoopInjection
{
protected override bool MatchTypes(Type src, Type trg)
{
return trg == typeof(int[])
&& src.IsGenericType
&& src.GetGenericTypeDefinition() == typeof(ICollection<>)
&& src.GetGenericArguments()[0].IsSubclassOf(typeof(Entity));
}
protected override void SetValue(object source, object target, PropertyInfo sp, PropertyInfo tp)
{
var val = sp.GetValue(source);
if (val != null)
{
tp.SetValue(target, (val as IEnumerable<Entity>).Select(o => o.Id).ToArray());
}
}
}
如何完成IntsToEntities類?
由於被使用,這就是我想要的。 – darrenji