2016-03-22 13 views
0

私はNHibernate 4とFluent NHibernateを使ってクラスをデータベースにマッピングしています。データベースはSQL Server 2008 Expressインスタンスにあります。なぜ地球上でSchemaUpdateを使用して、すべてのテーブルはこの1つを期待して作成します。SchemaUpdateがこのテーブルを作成しないのはなぜですか?

public class UserMap : ClassMap<UserModel> 
{ 
    public UserMap() 
    { 
     this.Table("User"); 

     this.Id(x => x.Id) 
      .GeneratedBy.Native(); 

     this.Map(x => x.Name) 
      .Length(int.MaxValue) 
      .Not.Nullable(); 
    } 
} 

答えて

0

ただ、「ユーザー」という名前のテーブルを作成しようとしたときSchemaUpdateが黙って失敗したことが分かりました。あなたは、テーブル名の脱出を試みることができるかもしれない

public class UserMap : ClassMap<UserModel> 
{ 
    public UserMap() 
    { 
     this.Table("Users"); 

     this.Id(x => x.Id) 
      .GeneratedBy.Native(); 

     this.Map(x => x.Name) 
      .Length(int.MaxValue) 
      .Not.Nullable(); 
    } 
} 
+1

::(例: "ユーザー")、そのテーブルに別の名前を使用して

は、問題を解決し、 'this.Table( "\ 'ユーザー\'");' (バック・チルト '\' ')または' this.Table( "[User]"); '(SQL Server固有のエスケープ、アングル・ブラケットを使用)を使用してエスケープします。 –

関連する問題