当我尝试保存在数据库属性中时,Emit mapper 出现了一些问题。
首先我映射了这个类(它工作得很好):
[Serializable]
public class ProfileProperty
{
public string PropertyValue { get; set; }
public bool IsVisible { get; set; }
public ProfileProperty(string value, bool isVisible = true)
{
this.PropertyValue = value;
this.IsVisible = isVisible;
}
public ProfileProperty()
{
this.IsVisible = true;
}
}
我在这里映射:
var mapper = ObjectMapperManager.DefaultInstance.GetMapper<PollmericaProfile, ProfileModel>();
ProfileModel prof = new ProfileModel();
if (x.User != null)
{
prof = mapper.Map(x);
}
但有些要求不需要string
属性。这就是为什么我决定写这个:
[Serializable]
public class ProfileProperty
{
public object PropertyValue { get; set; }
public bool IsVisible { get; set; }
public ProfileProperty(object value, bool isVisible = true)
{
this.PropertyValue = value;
this.IsVisible = isVisible;
}
public ProfileProperty()
{
this.IsVisible = true;
}
public T GetValue<T>()
{
return (T)this.PropertyValue;
}
}
并且所有映射都不起作用=(
如果你可以,请帮助我。如果你愿意,我可以提供必要的信息
。PS说实话,我想转移到一个字符串并返回,所以至少可以工作
UPD:我试过没有方法public T GetValue<T>()
......它有效......