代码之家  ›  专栏  ›  技术社区  ›  Stefan

SQL Server CE是否支持使用nhibernate更新架构?

  •  3
  • Stefan  · 技术社区  · 16 年前

    SchemaExport似乎可以工作,但SchemaUpdate失败-SchemaUpdate。异常包含此对象:

    System.NotSupportedException: The method is not supported.
    in System.Data.Common.DbConnection.GetSchema(String collectionName, String[] restrictionValues)
    in NHibernate.Dialect.Schema.AbstractDataBaseSchema.GetTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
    in NHibernate.Tool.hbm2ddl.DatabaseMetadata.GetTableMetadata(String name, String schema, String catalog, Boolean isQuoted)
    in NHibernate.Cfg.Configuration.GenerateSchemaUpdateScript(Dialect dialect, DatabaseMetadata databaseMetadata)
    in NHibernate.Tool.hbm2ddl.SchemaUpdate.Execute(Action`1 scriptAction, Boolean doUpdate)
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   ErikEJ    15 年前

    SQL Server Compact 4支持GetSchema-使用此版本而不是3.5

        2
  •  0
  •   kay.one    15 年前

    好吧,我觉得这更有意思 为什么? 架构更新将不适用于MS SQL的压缩版本。

    堆栈跟踪意味着nhibernate方法不会失败,而是检索当前数据库模式的方法。 在为MS SQL CE使用方言时,实际上应该在堆栈跟踪中调用System.Data.sqlserverce.sqlceConnection.getSchema()。但是,只显示dbconnection.getSchema()。这意味着两件事:

    1. nhibernate或适合于ms sql-ce的方言对此无能为力。所以,这将是一个由微软解决的问题