2011-11-13 3 views
1

Je souhaite utiliser le peigne Guid pour mon identité. J'ai ajouté l'interface EntityWithTypedId à ma classe, ce qui empêche la persistance de ma table. c'est-à-dire qu'en utilisant nh prof je peux voir que la méthode SaveOrUpdate n'est pas appelée. Si je viens d'utiliser l'interface Entity je peux le voir dans le profileur.Problème Sharp Architecture avec EntityWithTypedId

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(); 
    } 
} 

Contrôleur

[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"); 
    } 

Répondre

0

Je fixe en mettant à jour mon application à ce qui suit.

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

     } 

Voir ici pour plus d'informations.

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

Questions connexes