Fluent NHibernate und PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException: die Angegebene Methode wird nicht unterstützt
Ich bin mit fluentnhibernate mit PostgreSQL. Fluentnhibernate ist die Letzte version. PosrgreSQL version ist 8.4.
Mein code zum erstellen ISessionFactory:
public static ISessionFactory CreateSessionFactory()
{
string connectionString = ConfigurationManager.ConnectionStrings["PostgreConnectionString"].ConnectionString;
IPersistenceConfigurer config = PostgreSQLConfiguration.PostgreSQL82.ConnectionString(connectionString);
FluentConfiguration configuration = Fluently
.Configure()
.Database(config)
.Mappings(m =>
m.FluentMappings.Add(typeof(ResourceMap))
.Add(typeof(TaskMap))
.Add(typeof(PluginMap)));
var nhibConfig = configuration.BuildConfiguration();
SchemaMetadataUpdater.QuoteTableAndColumns(nhibConfig);
return configuration.BuildSessionFactory();
}
Wenn ich das ausführen von code in Zeile SchemaMetadataUpdater.QuoteTableAndColumns(nhibConfig); throw error: System.NotSupportedException: die Angegebene Methode wird nicht unterstützt. Helfen Sie mir, bitte! Ich bin sehr brauchen für die Lösung.
Beste Grüße
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
configuration.ExposeConfiguration...
) funktioniert auch für MS SQL (falls sich einige Wundern).Habe ich versucht über die beiden. Es hat bei mir nicht funktioniert mit der aktuellen Fluent NHibernate(5f7adcd) und aktuellen postgresql-8.4. Die zwei sind wahrscheinlich auf stumm Fluent NHibernate. Wenn Sie
NHibernate-und HBM-ohne Fließend sein, es wäre für Sie gearbeitet.
Um explizit Fragen, Fluent NHibernate generiert Bezeichner für die Tabelle und Spalte,
Ich Affe gepatcht zwei Dateien in Fluent NHibernate Quelle, um ihn zu zwingen, zu arbeiten für postgresql.
(Wenn Sie don ' T müssen den gleichen build für andere Datenbanken)
namespace:
FluentNHibernate.MappingModel.Output
Hinzufügen "Zitieren" auf der Tabelle name an XmlClassWriter.cs
Hinzufügen "Zitat" in die Spalte name an XmlColumnWriter.cs
Dies funktioniert wie Charme so weit. Holen Sie sich die Quelle an http://github.com/jagregory/fluent-nhibernate
und bauen Sie Ihre eigenen mit oben genannten updates.
Erstellen Sie Ihr benutzerdefiniertes Benennungs-Konvention, überschreiben Sie die Spalte name-Konvention zu gehören zitieren.