我应该如何使用Fluent NHibernate添加列级别CHARSET?

时间:2016-10-24 13:50:06

标签: c# mysql nhibernate fluent-nhibernate

我正在使用Fluent Nhibernate和MySQL Configuration来公开架构。     下面是我的实体映射数据库实体。

public class MyEntity 
{
    public MyEntity() { }
    public virtual int ID {get;set;}
    public virtual string FormalName { get; set; }
}

public class MyEntityMap : ClassMap<MyEntity>
{
    public MyEntityMap() 
    {
        Table("MyEntity");
        LazyLoad();
        Id(x => x.ID).GeneratedBy.Assigned().Column("ID");
        Map(x => x.FormalName).Column("FormalName").Length(200); // In Script must be FormalName VARCHAR(200) CHARSET Latin1
    }

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是在Map中添加CustomSQLType并在其中添加CHARSET。

例如

您的代码应为:

Map(x => x.FormalName).Column("FormalName").CustomSqlType("varchar(200) charset latin1").Length(200); // In Script must be FormalName VARCHAR(200) CHARSET Latin1

注意上面代码中的CustomSqlType。