Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为FluentNHibernate映射添加int数组默认值_C#_Mysql_Arrays_Fluent Nhibernate_Hibernate Mapping - Fatal编程技术网

C# 如何为FluentNHibernate映射添加int数组默认值

C# 如何为FluentNHibernate映射添加int数组默认值,c#,mysql,arrays,fluent-nhibernate,hibernate-mapping,C#,Mysql,Arrays,Fluent Nhibernate,Hibernate Mapping,最近,我在UserMap类中添加了一个新列,以添加一个int数组 public class UserMap : ClassMap<User> { public UserMap() { Table("user"); LazyLoad(); Id(x => x.Id).GeneratedBy.Identity().Column("Id"); Map(x => x.DateCreated).Colu

最近,我在UserMap类中添加了一个新列,以添加一个int数组

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();
    }
}
当我添加默认值时,我得到一个错误:

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[]默认值


提前感谢所有来自数据库tho的错误。是否在数据库中添加了列
EmailPrivacy
?否,因为当我添加新元素时FluentNHibernate会自动生成列必须添加schemaupdate:return Fluently.Configure().database(databaseConfig).Mappings(m=>m.FluentMappings.AddFromAssembly(pAssembly)).ExposeConfiguration(cfg=>newschemaupdate(cfg).Execute(false,true)).BuildSessionFactory();这不能生成列,但即使是这样,nhibernate如何知道如何将
int[]
映射到单个列?有趣的是,如果手动添加该列并运行它,会发生什么?工作正常,错误发生在我添加默认值时,正如问题所示!
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