因为一个Entity Class中可能有别的Class的实例应用。而Post方法中的Bind会导致ClassId有值而Class为Null,这就导致了错误。因此,需要采用MVVC结构,产生一个ViewModel,专门用来绑定。
ViewModel向EntityClass转换的通用方法
public static TResoult GetT<TResoult, TInput>(TInput t)
{
TResoult resoult = Activator.CreateInstance<TResoult>();
var list = t.GetType().GetProperties();
foreach (var item in list)
{
try
{
var setm = resoult.GetType().GetProperty(item.Name);
if ( setm!= null)
{
setm.SetValue(resoult, item.GetValue(t));
}
}
catch (System.Exception)
{
throw;
}
}
return resoult;
}