public IEntityPersister FindEntityPersisterUsingImports(string className) { // NH : short cut if (string.IsNullOrEmpty(className)) { return(null); } if (!char.IsLetter(className[0]) && !className[0].Equals('_')) { return(null); } // NH : this method prevent unrecognized class when entityName != class.FullName // this is a patch for the TODO below var possibleResult = sfi.TryGetEntityPersister(GetEntityName(className)); if (possibleResult != null) { return(possibleResult); } string importedClassName = sfi.GetImportedClassName(className); if (importedClassName == null) { return(null); } // NH: This method don't work if entityName != class.FullName return(sfi.TryGetEntityPersister(GetEntityName(importedClassName))); }
public static System.Type GetImportedClass(ISessionFactoryImplementor sfi, string className) { string importedName = sfi.GetImportedClassName(className); if (importedName == null) { return null; } return System.Type.GetType(importedName, false); }
public static IQueryable FindQueryableUsingImports(ISessionFactoryImplementor sfi, string className) { string importedClassName = sfi.GetImportedClassName(className); if (importedClassName == null) { return null; } return (IQueryable) sfi.GetEntityPersister(importedClassName, false); }
internal static object GetConstantValue(string qualifiedName, ISessionFactoryImplementor sfi) { string className = StringHelper.Qualifier(qualifiedName); if (!string.IsNullOrEmpty(className)) { System.Type t = System.Type.GetType(className); if (t == null && sfi != null) { t = System.Type.GetType(sfi.GetImportedClassName(className)); } if (t != null) { return(GetConstantValue(t, StringHelper.Unqualify(qualifiedName))); } } return(null); }
/// <summary> /// Given a (potentially unqualified) class name, locate its imported qualified name. /// </summary> /// <param name="className">The potentially unqualified class name</param> /// <returns>The qualified class name.</returns> public string GetImportedClassName(string className) { return(_sfi.GetImportedClassName(className)); }
/// <summary> /// Gets the Type for the name that might be an Imported Class. /// </summary> /// <param name="name">The name that might be an ImportedClass.</param> /// <param name="factory">The <see cref="ISessionFactoryImplementor"/> that contains the Imported Classes.</param> /// <returns>A <see cref="System.Type"/> if <c>name</c> is an Imported Class, <c>null</c> otherwise.</returns> private static System.Type GetImportedClass( string name, ISessionFactoryImplementor factory ) { string importedName = factory.GetImportedClassName( name ); // don't care about the exception, just give us a null value. return System.Type.GetType( importedName, false ); }