Fluent nhibernate EntityWithTypedId存在尖锐的架构问题
我希望使用Guid梳作为我的身份。我已经将EntityWithTypedId接口添加到我的类中,这导致我的表无法持久化。ie使用nh prof我可以看到SaveOrUpdate方法没有被调用。如果我只使用实体接口,我可以在分析器中看到它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
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);
}