最近、int 配列を追加するために、UserMap クラスに新しい列を追加しました。
public class UserMap : ClassMap<User>
{
public UserMap()
{
Table("user");
LazyLoad();
Id(x => x.Id).GeneratedBy.Identity().Column("Id");
Map(x => x.DateCreated).Column("DateCreated").Not.Nullable();
Map(x => x.Birthday).Column("Birthday").Nullable();
Map(x => x.HideBirthday).Column("HideBirthday").Nullable();
Map(x => x.Name).Column("Name").Not.Nullable();
Map(x => x.Email).Column("Email").Not.Nullable();
Map(x => x.PassWord).Column("Password").Not.Nullable();
Map(x => x.NotificationCounter).Column("NotificationCounter").Nullable().Default("0");
//EMAILPRIVACY = int[]
Map(x => x.EmailPrivacy).Column("EmailPrivacy").Nullable();
}
}
そのため、int 配列を使用して Default Value をEmailPrivacy列に追加する必要があります。
new int[] { 1, 2, 3, 4, 5, 6, 7 }
デフォルト値を追加すると、エラーが発生しました:
Map(x => x.EmailPrivacy).Column("EmailPrivacy").Nullable().Default(new int[] { 1, 2, 3, 4, 5, 6, 7 }.ToString());
エラーメッセージ:
Unknown column 'user0_.EmailPrivacy' in 'field list'
[MySqlException (0x80004005): Unknown column 'user0_.EmailPrivacy' in 'field list']
MySql.Data.MySqlClient.MySqlStream.ReadPacket() +383
MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId) +116
MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int32& insertedId) +54
MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) +142
MySql.Data.MySqlClient.MySqlDataReader.NextResult() +1249
MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) +2214
MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +41
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() +12
NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) +347
NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session) +364
NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) +425
NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) +213
NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, String optionalEntityName, Object optionalIdentifier, IEntityPersister persister) +386
この int[] デフォルト値を追加するにはどうすればよいですか?
よろしくお願いします