La mise à jour par lots a renvoyé le nombre de lignes inattendu de la mise à jour nombre réel de lignes: 0; attendu: 1
Je vais avoir de la difficulté à comprendre NH exception:
Mise à jour par lot retourné inattendue du nombre de lignes de mise à jour; ligne réel
count: 0; attendu: 1
Mon Dal code:
public T Save(T item)
{
using (ISession session = NHibernateHelper.GetSession())
{
using (var transaction = session.BeginTransaction())
{
session.SaveOrUpdate(item);
transaction.Commit();
return item;
}
}
}
Mon log4net fichier:
de commande 0:mise à JOUR Metadata_FriendDetails ENSEMBLE UserId = @p0, Email = @p1,
Nom = @p2 OÙ FriendId = @p3;@p0 =
a358ab9d-d481-4bdd-8cb2-18ddc8898c70 [Type: Guid (0)], @p1 =
'[email protected]' [Type: Chaîne de caractères (4000)], @p2 = 'myFriend' [Type: Chaîne de caractères
(4000)], @p3 = 2ea35658-edb1-43e3-b848-e1915d1042df [Type: Guid (0)]2011-12-02 13:06:49,750 [Agent: adaptateur run thread pour le test
'SaveFriendDetails_Test' (id
'17016e48-1ff4-4dea-8536-6aa3b24e5fb7'] DEBUG
NHibernate.AdoNet.AbstractBatcher - Fermé IDbCommand, ouvrir
IDbCommands: 0 2011-12-02 13:06:49,751 [Agent: adaptateur run thread pour
test 'SaveFriendDetails_Test' (id
'17016e48-1ff4-4dea-8536-6aa3b24e5fb7'] ERREUR
NHibernate.De l'événement.Par défaut.AbstractFlushingEventListener - ne Pouvait pas
synchroniser la base de données d'état de session
NHibernate.StaleStateException: mise à jour par Lot retourné inattendu ligne
compter à partir de la mise à jour; nombre de lignes: 0; attendu: 1
Personne ne voit le problème?
TIA
source d'informationauteur Elad Benda2
Vous devez vous connecter pour publier un commentaire.
le problème est que sur Enregistrer, je ne devrait pas fournir la valeur de l'id et sur la mise à jour, je doit la fournir.
Vous devez définir l'Id de l'objet à
null
avant de l'enregistrer.exemple: