Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NHibernate Discussion :

NHibernate many-to-many base de données


Sujet :

NHibernate

  1. #1
    Membre du Club
    Inscrit en
    janvier 2011
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 83
    Points : 60
    Points
    60
    Par défaut NHibernate many-to-many base de données
    Salut
    je ne parviens pas avec NHibernate à sauvegarder les données dans une table intermédiare.
    Classe Topic
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public class Topic:IVersionedEntity
        {
            private readonly IList<Student> _students = new List<Student>();
     
            public virtual long TopicId { get; set; }
            public virtual DateTime Date { get; set; }
            public virtual byte[] Version { get; set; }
            public virtual string Note { get; set; }
            public virtual Course Course { get; set; }
     
            public virtual IList<Student> Students {
                get
                {
                    return _students;
                }
            }
        }
    Classe Student
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Student: IVersionedEntity
        {
             public virtual long StudentId { get; set; }
            public virtual string Name { get; set; }
            public virtual string FirstName { get; set; }
            public virtual string Email { get; set; }
            public virtual string Tel { get; set; }
            public virtual DateTime StartDate { get; set; }
            public virtual string Abo { get; set; }
            public virtual string Note { get; set; }
            public virtual byte[] Version { get; set; }
                }
    classMap Topic
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     public TopicMap()
            {
                Table("dbo.Topics");
                Version(x => x.Version)
                   .Column("ts")
                   .CustomSqlType("Rowversion")
                   .Generated.Always()
                   .UnsavedValue("null");
     
                Id(x => x.TopicId);
                Map(x => x.Date).Not.Nullable();
                Map(x => x.Note).Not.Nullable();
     
                References(x => x.Course, "CourseId");
     
                HasManyToMany(x => x.Students).Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore)
                                         .Table("TopicsSutdents")
                                         .ParentKeyColumn("TopicId")
                                         .ChildKeyColumn("StudentId");
     
            }
    Base de données en piece jointe

    Erreur:

    NHibernate.Exceptions.GenericADOException
    HResult=0x80131500
    Nachricht = could not execute batch command.[SQL: SQL not available]
    Quelle = NHibernate
    Stapelüberwachung:
    bei NHibernate.AdoNet.SqlClientBatchingBatcher.DoExecuteBatch(DbCommand ps)
    bei NHibernate.AdoNet.AbstractBatcher.ExecuteBatchWithTiming(DbCommand ps)
    bei NHibernate.AdoNet.AbstractBatcher.ExecuteBatch()
    bei NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
    bei NHibernate.Engine.ActionQueue.ExecuteActions()
    bei NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
    bei NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
    bei NHibernate.Impl.SessionImpl.Flush()
    bei SW.Web.Common.ActionTransactionHelper.EndTransaction(HttpActionExecutedContext filterContext) in D:\SWWorkspace\SW\SW.Web.Common\ActionTransactionHelper.cs: Zeile42
    bei SW.Web.Common.UnitOfWorkActionFilterAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext) in D:\SWWorkspace\SW\SW.Web.Common\UnitOfWorkActionFilterAttribute.cs: Zeile27
    bei System.Web.Http.Filters.ActionFilterAttribute.OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)

    Innere Ausnahme 1:
    SqlException: Ungültiger Objektname "TopicsSutdents".


    Merci d'avance pour toute aide
    Images attachées Images attachées  

Discussions similaires

  1. convertir relation many-to-many en many-to-one
    Par djoteck dans le forum Symfony
    Réponses: 3
    Dernier message: 04/10/2017, 11h06
  2. [AC-2007] Problème Relation many-to-many-to-many
    Par Synystrose dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/08/2015, 11h57
  3. [NHibernate]relation many-to-many + attributs
    Par gwendal86 dans le forum NHibernate
    Réponses: 1
    Dernier message: 02/12/2008, 17h42
  4. Un peu de mal a comprendre le concepte "one-to-many" et "many-to-many"
    Par chriscoolletoubibe dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/03/2007, 19h50
  5. Réponses: 3
    Dernier message: 26/02/2007, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo