【问题标题】:Sharp Architecture issue with EntityWithTypedIdEntityWithTypedId 的尖锐架构问题
【发布时间】:2011-12-28 06:09:56
【问题描述】:

我希望使用 Guid 梳作为我的身份。我已将 EntityWithTypedId 接口添加到我的类中,这导致我的表不持久。即使用 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();
    }
}

控制器

    [HttpPost]
    [ActionName("Edit")]
    public ActionResult EditPost(Application application)
    {
        var updateApplication = new Application();
        updateApplication.Created = DateTime.Now;
        updateApplication.Modified = DateTime.Now;
        _applicationQuery.Update(updateApplication);
        return RedirectToAction("Index");
    }

【问题讨论】:

    标签: fluent-nhibernate sharp-architecture


    【解决方案1】:

    我通过将映射更新为以下内容来解决此问题。

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

    请参阅此处了解更多信息。

    http://s274.codeinspot.com/q/1486941

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多