Salut
je ne parviens pas avec NHibernate à sauvegarder les données dans une table intermédiare.
Classe Topic
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
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; } } }
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 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; } }
Base de données en piece jointe
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"); }
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
Partager