显示NHiberate classMapping类中使用的参数
本文关键字:参数 NHiberate classMapping 显示 | 更新日期: 2023-09-27 18:26:23
我写了一个小控制台应用程序,它应该为给定的类编写属性。
它适用于"普通"类,但当我尝试传入NHibernate classMapping类时,它只显示一个空白列表。
通过Visual Studio中的调试器,我只看到空值和一个非显示停止错误:"无法发现有关此对象的进一步信息。"
有没有办法获得ClassMapping类中使用的参数/属性?
谢谢!
映射类别:
public class CorporateDataMapping : ClassMapping<CorporateData>
{
public CorporateDataMapping()
{
Schema("data");
this.EnhancedSequenceId(x => x.Id);
ManyToOne(x => x.CEO, pm => pm.NotNullable(true));
Property(x => x.Sign, pm => pm.NotNullable(true));
Property(x => x.WeatherType, pm => pm.NotNullable(true));
Property(x => x.EncodingLanguage);
Property(x => x.ZipCode);
Property(x => x.PhysicalLocation);
Property(x => x.Extension, pm => pm.NotNullable(true));
Property(x => x.DisplayAllYear, pm => pm.NotNullable(true));
Property(x => x.Graphics, pm => pm.NotNullable(true));
Property(x => x.InstallDate, pm => pm.NotNullable(true));
}
}
支持显示类的所有属性的程序:
static void Main(string[] args)
{
CorporateDataMapping mapping = new CorporateDataMapping();
printProperties(mapping);
Console.ReadLine();
}
public static void printProperties(Object jsonObject)
{
JObject json = JObject.FromObject(jsonObject);
Console.WriteLine("Classname: {0}'n", jsonObject.ToString());
Console.WriteLine("{0,-20} {1,5}'n", "Name", "Value");
foreach (JProperty property in json.Properties()) {
Console.WriteLine("{0,-20} {1,5:N1}", property.Name, property.Value);
}
}
}
映射类的属性不会成为映射程序的一部分,因此它们不能通过映射程序类上的反射来获取。阅读ModelMapper NHibernate类。以下链接显示了一些用途(您可以通过谷歌搜索"nhibernate modelmapper beforeapproperty"找到更多信息):
http://nhibernate.info/blog/2011/09/04/using-nh3-2-mapping-by-code-for-automatic-mapping.html
Nhibernate:以相同的精度和比例映射所有小数