SchemaUpdate için kaynak koduna baktım. SchemaUpdate'in eksik bir tablo algılayabileceğini ve daha sonra bir güncelleme komut dosyası yerine bir oluşturma betiği oluşturabileceğini biliyordum. Tabii ki, cevap oradaydı. nesnesindeki GetTableMetadata
nesnesi, bir veritabanında bir tablo yoksa, null değerini döndürür.
Normal olarak, SchemaUpdate bir DatabaseMetadata nesnesi oluşturur ve Configuration
nesnesine girer. Ama bir DatabaseMetadata oluşturmak için gereken her şey bir DBConnection ve Dialect nesnesi gibi görünüyor.
SchemaUpdate thusly bir DatabaseMetadata oluşturur:
connectionHelper.Prepare();
connection = connectionHelper.Connection;
meta = new DatabaseMetadata(connection, dialect);
NHibernate.Cfg.Configuration
o zaman bir yerde size NHibernate yapılandırmayı saklayabilir ya da yaparsanız size oturum fabrika inşa önce oluşturulan doğrulamak mümkündür
ITableMetadata tableInfo = databaseMetadata.GetTableMetadata(...);
Eğer haritalama karşılaştırılmak üzere arıyorsunuz? –
her iki şekilde de, fiziksel tablonun var olup olmadığını görmek istiyorum. –