C# NHibernate.AspNet.Identity FluentNhibernate-如何将自定义对象添加到ApplicationUSer?

C# NHibernate.AspNet.Identity FluentNhibernate-如何将自定义对象添加到ApplicationUSer?,c#,nhibernate,fluent-nhibernate,asp.net-identity,fluent-nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Asp.net Identity,Fluent Nhibernate Mapping,我对Nhibernate非常、非常陌生,我正在学习(痛苦地) 我正在尝试将NHibernate与Asp.NETIdentity 2.0结合使用,并设置自己的应用商店。然而,我有一些问题- 虽然我了解实体之间的映射,但似乎无法在实体之间创建相关映射。这是我的。ApplicationUser类和设置,类似于: 这是我的主要配置部分: var configuration = Fluently.Configure() .Database( MsSq

我对Nhibernate非常、非常陌生,我正在学习(痛苦地)

我正在尝试将NHibernate与Asp.NETIdentity 2.0结合使用,并设置自己的应用商店。然而,我有一些问题-

虽然我了解实体之间的映射,但似乎无法在实体之间创建相关映射。这是我的。ApplicationUser类和设置,类似于:

这是我的主要配置部分:

var configuration = Fluently.Configure()
            .Database(
                MsSqlConfiguration.MsSql2012.ConnectionString(
                    "server=localhost;database=SWDB;trusted_connection=true;"))
            .Mappings(x=>x.FluentMappings.AddFromAssemblyOf<CharacterMapping>())
            .ExposeConfiguration(cfg =>
            {
                cfg.SetProperty("current_session_context_class", "web");
                cfg.AddDeserializedMapping(
                    MappingHelper.GetIdentityMappings(myEntities), null);
                new SchemaExport(cfg).Create(false, true);
            }).BuildConfiguration();
var-configuration=fluntly.Configure()
.数据库(
MsSqlConfiguration.MsSql2012.ConnectionString(
“server=localhost;database=SWDB;trusted_connection=true;”)
.Mappings(x=>x.FluentMappings.AddFromAssemblyOf())
.ExposeConfiguration(cfg=>
{
SetProperty(“当前会话上下文类”、“web”);
cfg.AddDeserializedMapping(
MappingHelper.GetIdentityMappings(myEntities),null;
新建SchemaExport(cfg).Create(false,true);
}).BuildConfiguration();
最后,映射:

public class ApplicationUserMapping : SubclassMap<ApplicationUser>
{
    public ApplicationUserMapping()
    {
        HasMany(x => x.Characters).Inverse().Cascade.All();
    }
}
public类ApplicationUserMapping:子类映射
{
公共ApplicationUserMapping()
{
有许多(x=>x.Characters).Inverse().Cascade.All();
}
}

公共类字符映射:类映射
{
公共字符映射()
{
Id(x=>x.Id);
引用(x=>x.ApplicationUser.Cascade.All();
}
}
但是,每当我尝试创建和保存一个字符时,我得到:无法确定以下列的类型:SWDB.Domain.RP.character,SWDB.Domain:NHibernate.Mapping.Column(id)

我已经为此奋斗了一整天-我放弃:(任何帮助都是感激的


谢谢!

您的Id是标识不支持的Guid。请手动指定生成器

public class CharacterMapping : ClassMap<Character>
{
    public CharacterMapping()
    {
        Id(x => x.Id).GeneratedBy.GuidComb();
        References(x => x.ApplicationUser).Cascade.All();
    }
}
公共类字符映射:类映射
{
公共字符映射()
{
Id(x=>x.Id).GeneratedBy.GuidComb();
引用(x=>x.ApplicationUser.Cascade.All();
}
}
public class ApplicationUserMapping : SubclassMap<ApplicationUser>
{
    public ApplicationUserMapping()
    {
        HasMany(x => x.Characters).Inverse().Cascade.All();
    }
}
public class CharacterMapping : ClassMap<Character>
{
    public CharacterMapping()
    {
        Id(x => x.Id);
        References(x => x.ApplicationUser).Cascade.All();
    }
}
public class CharacterMapping : ClassMap<Character>
{
    public CharacterMapping()
    {
        Id(x => x.Id).GeneratedBy.GuidComb();
        References(x => x.ApplicationUser).Cascade.All();
    }
}