NHibernate et MySql est l'insertion et la sélection, la mise à jour ne

voix
3

Quelque chose d'étrange se passe avec NHibernate pour moi. Je peux choisir, et je peux insérer. Mais je ne peux pas le faire et mettre à jour contre MySql.

Voici ma classe de domaine

public class UserAccount
{
    public virtual int Id { get; set; }
    public virtual string UserName { get; set; }
    public virtual string Password { get; set; }
    public virtual bool Enabled { get; set; }

    public virtual string FirstName { get; set; }
    public virtual string LastName { get; set; }
    public virtual string Phone { get; set; }

    public virtual DateTime? DeletedDate { get; set; }
    public virtual UserAccount DeletedBy { get; set; }
}

cartographie Courant

public class UserAccountMap : ClassMap<UserAccount>
{
    public UserAccountMap()
    {
        Table(UserAccount);
        Id(x => x.Id);
        Map(x => x.UserName);
        Map(x => x.Password);
        Map(x => x.FirstName);
        Map(x => x.LastName);
        Map(x => x.Phone);
        Map(x => x.DeletedDate);
        Map(x => x.Enabled);
    }
}

Voici comment je crée ma session d'usine

        var dbconfig = MySQLConfiguration
            .Standard
            .ShowSql()
            .ConnectionString(a => a.FromAppSetting(MySqlConnStr));

        FluentConfiguration config = Fluently.Configure()
            .Database(dbconfig)
            .Mappings(m =>
            {
                var mapping = m.FluentMappings.AddFromAssemblyOf<TransactionDetail>();
                mapping.ExportTo(mappingdir);
            });

et ceci est mon code NHibernate:

        using (var trans = Session.BeginTransaction())
        {
            var user = GetById(userId);
            user.Enabled = false;
            user.DeletedDate = DateTime.Now;
            user.UserName = deleted_ + user.UserName;
            user.Password = --removed--;
            Session.Update(user);
            trans.Commit();
        }

Aucune exception ne sont jetés. Aucune requête sont enregistrées. Rien.

Créé 27/08/2009 à 00:49
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Avez-vous le rinçage automatique configuré? Vous appelez une livraison pour les transactions sur votre session, mais pas sur la session flush.

Créé 11/07/2011 à 03:00
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more