2009-09-29 8 views

Répondre

0

Essayez ceci:

create table Setting (
     [Key] NVARCHAR(MAX) not null, 
     Value NVARCHAR(MAX) null, 
     primary key (Key) 
) 

SQL Server vous permet d'échapper mots réservés en plaçant des crochets autour du texte.

+0

Comment puis-je dire NHiberate de le faire? –

+0

Mettez les noms (des tables, des champs) dans les guillemets: 'Setting',' Key'. En courant, vous voudrez peut-être que les conventions le fassent. – queen3

+0

@ queen3 Comment puis-je faire cela pour tous? –

0

J'ai eu un problème similaire. Le correctif consiste à utiliser la propriété Column de FluentNHibernate pour placer des crochets autour du nom de la colonne pour la propriété key.

est ici une entité avec une problématique clé propriété:

public class MyEntity 
    { 
     public virtual int Id { get; set; } 
     public virtual string Key { get; set; } 
    } 

Voici comment spécifier le nom de colonne dans la mise en correspondance:

public class MyEntityMap : ClassMap<MyEntity> 
    { 
     public MyEntityMap() 
     { 
      Id(x => x.Id).GeneratedBy.Assigned(); 

      // Note the brackets around Key 
      Map(x => x.Key).Column("[Key]").Not.Nullable(); 
     } 
    } 
Questions connexes