本文整理汇总了C#中NHibernate.Mapping.PersistentClass.AddNewProperty方法的典型用法代码示例。如果您正苦于以下问题:C# PersistentClass.AddNewProperty方法的具体用法?C# PersistentClass.AddNewProperty怎么用?C# PersistentClass.AddNewProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NHibernate.Mapping.PersistentClass
的用法示例。
在下文中一共展示了PersistentClass.AddNewProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PropertiesFromXML
protected static void PropertiesFromXML( XmlNode node, PersistentClass model, Mappings mappings )
{
Table table = model.Table;
foreach( XmlNode subnode in node.ChildNodes )
{
//I am only concerned with elements that are from the nhibernate namespace
if( subnode.NamespaceURI != Configuration.MappingSchemaXMLNS )
{
continue;
}
string name = subnode.LocalName; //.Name;
string propertyName = GetPropertyName( subnode );
CollectionType collectType = CollectionType.CollectionTypeFromString( name );
IValue value = null;
if( collectType != null )
{
Mapping.Collection collection = collectType.Create( subnode, model.Name, propertyName, model, mappings );
mappings.AddCollection( collection );
value = collection;
}
else if( "many-to-one".Equals( name ) )
{
value = new ManyToOne( table );
BindManyToOne( subnode, ( ManyToOne ) value, propertyName, true, mappings );
}
else if( "any".Equals( name ) )
{
value = new Any( table );
BindAny( subnode, ( Any ) value, true, mappings );
}
else if( "one-to-one".Equals( name ) )
{
value = new OneToOne( table, model.Identifier );
BindOneToOne( subnode, ( OneToOne ) value, true, mappings );
}
else if( "property".Equals( name ) )
{
value = new SimpleValue( table );
BindSimpleValue( subnode, ( SimpleValue ) value, true, propertyName, mappings );
}
else if( "component".Equals( name ) || "dynamic-component".Equals( name ) )
{
// NH: Modified from H2.1 to allow specifying the type explicitly using class attribute
System.Type reflectedClass = GetPropertyType( subnode, mappings, model.MappedClass, propertyName );
value = new Component( model );
BindComponent( subnode, ( Component ) value, reflectedClass, model.Name, propertyName, true, mappings );
}
else if( "subclass".Equals( name ) )
{
HandleSubclass( model, mappings, subnode );
}
else if( "joined-subclass".Equals( name ) )
{
HandleJoinedSubclass( model, mappings, subnode );
}
if( value != null )
{
model.AddNewProperty( CreateProperty( value, propertyName, model.MappedClass, subnode, mappings ) );
}
}
}