Fluent nhibernate EntityWithTypedId存在尖锐的架构问题

Fluent nhibernate EntityWithTypedId存在尖锐的架构问题,fluent-nhibernate,sharp-architecture,Fluent Nhibernate,Sharp Architecture,我希望使用Guid梳作为我的身份。我已经将EntityWithTypedId接口添加到我的类中,这导致我的表无法持久化。ie使用nh prof我可以看到SaveOrUpdate方法没有被调用。如果我只使用实体接口,我可以在分析器中看到它 public class Application : EntityWithTypedId<Guid> { public virtual string Name { get; set; } public virtual string C

我希望使用Guid梳作为我的身份。我已经将EntityWithTypedId接口添加到我的类中,这导致我的表无法持久化。ie使用nh prof我可以看到SaveOrUpdate方法没有被调用。如果我只使用实体接口,我可以在分析器中看到它

public class Application : EntityWithTypedId<Guid>
{
    public virtual string Name { get; set; }
    public virtual string CreatedByUserName { get; set; }
    public virtual string ModifiedByUserName { get; set; }
    public virtual DateTime Created { get; set; }
    public virtual DateTime Modified { get; set; }
}


public class ApplicationQuery : NHibernateQuery, IApplicationQuery
{

    public void Update(Application application)
    {
        Session.SaveOrUpdate(application);

    }
}

public class ApplicationMap : IAutoMappingOverride<Application>
{
    public void Override(AutoMapping<Application> mapping)
    {
        mapping.Table("Application");
        mapping.Id(x => x.Id, "Id").GeneratedBy.GuidComb();
    }
}

我通过将映射更新为以下内容来修复此问题

 public void Override(AutoMapping<Application> mapping)
        {
            mapping.Table("Application");
            mapping.Id(x => x.Id, "Id").GeneratedBy.GuidComb().UnsavedValue(Guid.Empty);

        }
公共无效覆盖(自动映射)

 public void Override(AutoMapping<Application> mapping)
        {
            mapping.Table("Application");
            mapping.Id(x => x.Id, "Id").GeneratedBy.GuidComb().UnsavedValue(Guid.Empty);

        }