当NHibernate使用FluentNHibernate生成列名时,如何避免关键字冲突?
NHibernate为我生成了这个,而"Key“是一个冲突。
create table Setting (
Key NVARCHAR(MAX) not null,
Value NVARCHAR(MAX) null,
primary key (Key)
)
发布于 2013-04-19 17:23:47
我也遇到过类似的问题。修复方法是使用FluentNHibernate的列属性部分将键属性的列名用括号括起来。
下面是一个键属性有问题的实体:
public class MyEntity
{
public virtual int Id { get; set; }
public virtual string Key { get; set; }
}
下面是如何在映射中指定列名:
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();
}
}
发布于 2009-09-29 11:59:57
试试这个:
create table Setting (
[Key] NVARCHAR(MAX) not null,
Value NVARCHAR(MAX) null,
primary key (Key)
)
SQL Server允许您通过用方括号将文本括起来来转义保留字。
https://stackoverflow.com/questions/1494588
复制相似问题