带有Firebird的Ormlite在关键字字段上失败

时间:2013-12-23 10:19:27

标签: c# sql firebird ormlite-servicestack

这是我的问题。我在Firebird数据库上使用Ormlite(ServiceStack)。不幸的是,我继承了数据库结构,列名是关键字 - FUNCTION:

CREATE TABLE CONTACT (
    ID_CONTACT      TID NOT NULL,
    CLIENT_ID       TID NOT NULL,
    NAME            VARCHAR(100) NOT NULL,
    PHONE           VARCHAR(50),
    EMAIL           VARCHAR(200),
    "FUNCTION"      VARCHAR(60), -- this column causes problem
    CREATED_DATE    DATE,
   MODIFIED_DATE    DATE,
 ); 

当我运行这样的Ormlite代码时:_db.Insert(contactDb) - 其中contactDb是POCO对象我得到了sql错误,因为数据库服务器需要在FUNCTION列周围括号而Ormlite没有放置它。 我尝试使用别名:

 [Alias("FUNCTION")]
 public string Function { get; set;}  

 [Alias("\"FUNCTION\"")]
 public string Function { get; set;}  

没有成功。

Firebird有方言版本3.我不能简单地更改列名。我该怎么办?

0 个答案:

没有答案