显示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);
        }
    }
}

显示NHiberate classMapping类中使用的参数

映射类的属性不会成为映射程序的一部分,因此它们不能通过映射程序类上的反射来获取。阅读ModelMapper NHibernate类。以下链接显示了一些用途(您可以通过谷歌搜索"nhibernate modelmapper beforeapproperty"找到更多信息):

http://nhibernate.info/blog/2011/09/04/using-nh3-2-mapping-by-code-for-automatic-mapping.html

Nhibernate:以相同的精度和比例映射所有小数