What does your table structure look like? FNH is expecting a table called ContentItemDetails with the containing the dictionary key -> entity pairs.
On Wed, Sep 15, 2010 at 11:04 PM, marcus <mar...@meridium.se> wrote: > This is my class > public class ContentItem { > public virtual IDictionary<string,ContentDetail> Details > { get; private set; } > protected ContentItem() { > Details = new Dictionary<string, ContentDetail>(); > } > } > My mappings > > return AutoMap.Assemblies(new > StormbreakerAutomappingConfiguration(), > new[] { > Assembly.Load("IOUDough.Core"), > }) > .IncludeBase(typeof(ContentItem)) > .IncludeBase(typeof(ContentDetail)) > .Override<ContentItem>(map => map.Id(x => > x.Id).GeneratedBy.Identity()) > .Override<ContentDetail>(map => map.Id(x => > x.Id).GeneratedBy.Identity()) > .Override<ContentItem>(map => map.HasMany(x => > x.Details).DictionaryKey("Name")) > .Conventions.Add(new CascadeConvention()); > > And this is my stacktrace > > Server Error in '/' Application. > > Invalid object name 'ContentItemDetails'. > > Description: An unhandled exception occurred during the execution of > the current web request. Please review the stack trace for more > information about the error and where it originated in the code. > > Exception Details: System.Data.SqlClient.SqlException: Invalid object > name 'ContentItemDetails'. > > Source Error: > > > Line 14: <p>- <%=Model.Parent.Name %> - </p> > Line 15: <% > Line 16: foreach (var contentDetail in Model.Details) > Line 17: { > Line 18: Response.Write(contentDetail.Value); > > Source File: d:\Projects\SVN\IOUDough\src\IOUDough.Web\IOUDough.Web > \Views\Home\Index.aspx Line: 16 > > Stack Trace: > > > [SqlException (0x80131904): Invalid object name 'ContentItemDetails'.] > System.Data.SqlClient.SqlConnection.OnError(SqlException exception, > Boolean breakConnection) +2030802 > System.Data.SqlClient.SqlInternalConnection.OnError(SqlException > exception, Boolean breakConnection) +5009584 > System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234 > System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, > SqlCommand cmdHandler, SqlDataReader dataStream, > BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject > stateObj) +2275 > System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33 > System.Data.SqlClient.SqlDataReader.get_MetaData() +86 > System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader > ds, RunBehavior runBehavior, String resetOptionsString) +311 > > System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean > async) +987 > System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String > method, DbAsyncResult result) +162 > System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior > cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String > method) +32 > System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior > behavior, String method) +141 > > System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior > behavior) +12 > System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() > +12 > NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) > +278 > NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean > autoDiscoverTypes, Boolean callable, RowSelection selection, > ISessionImplementor session) +264 > NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, > QueryParameters queryParameters, Boolean returnProxies) +186 > > > NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor > session, QueryParameters queryParameters, Boolean returnProxies) +70 > NHibernate.Loader.Loader.LoadCollection(ISessionImplementor > session, Object id, IType type) +226 > > [GenericADOException: could not initialize a collection: > [Stormbreaker.Core.Entities.ContentItem.Details#142][SQL: SELECT > details0_.ContentItem_id as ContentI1_1_, details0_.ContentDetail_id > as ContentD2_1_, details0_.Name as Name1_, contentdet1_.Id as Id2_0_, > contentdet1_.Name as Name2_0_, contentdet1_.StringValue as > StringVa4_2_0_, contentdet1_.BoolValue as BoolValue2_0_, > contentdet1_.Type as Type2_0_ FROM ContentItemDetails details0_ left > outer join [ContentDetail] contentdet1_ on > details0_.ContentDetail_id=contentdet1_.Id WHERE > details0_.ContentItem_id=?]] > NHibernate.Loader.Loader.LoadCollection(ISessionImplementor > session, Object id, IType type) +345 > NHibernate.Loader.Collection.CollectionLoader.Initialize(Object id, > ISessionImplementor session) +27 > > > NHibernate.Persister.Collection.AbstractCollectionPersister.Initialize(Object > key, ISessionImplementor session) +29 > > > NHibernate.Event.Default.DefaultInitializeCollectionEventListener.OnInitializeCollection(InitializeCollectionEvent > event) +349 > > NHibernate.Impl.SessionImpl.InitializeCollection(IPersistentCollection > collection, Boolean writing) +431 > > NHibernate.Collection.AbstractPersistentCollection.Initialize(Boolean > writing) +47 > > > NHibernate.Collection.Generic.PersistentGenericMap`2.System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator() > +16 > ASP.views_home_index_aspx.__Render__control1(HtmlTextWriter __w, > Control parameterContainer) in d:\Projects\SVN\IOUDough\src > \IOUDough.Web\IOUDough.Web\Views\Home\Index.aspx:16 > System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, > ICollection children) +109 > System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 > System.Web.UI.Page.Render(HtmlTextWriter writer) +29 > System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +56 > System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, > ControlAdapter adapter) +27 > System.Web.UI.Control.RenderControl(HtmlTextWriter writer, > ControlAdapter adapter) +100 > System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 > System.Web.UI.Page.ProcessRequestMain(Boolean > includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) > +3060 > > Version Information: Microsoft .NET Framework Version:4.0.30319; > ASP.NET Version:4.0.30319.1 > On Sep 15, 11:55 pm, James Gregory <jagregory....@gmail.com> wrote: > > Stacktrace? Where are these errors coming from? What's > ContentItemsDetail? > > > > On 15 Sep 2010, at 22:48, marcus <mar...@meridium.se> wrote: > > > > > > > > > Yes, I downloaded the latest build but I can't get it to work. > > > When I use this code .Override<ContentItem>(map => map.HasMany(x => > > > x.Details)) I get Incorrect syntax near the keyword 'Key'. > > > When I add .DictionaryKey("Name") I get Invalid object name > > > 'ContentItemDetails' and then I'm out of ideas? > > > > > On Sep 15, 11:42 pm, James Gregory <jagregory....@gmail.com> wrote: > > >> Have you tried? > > > > >> On Wed, Sep 15, 2010 at 10:06 PM, marcus <mar...@meridium.se> wrote: > > > > >>> > http://groups.google.com/group/fluent-nhibernate/browse_thread/thread... > > > > >>> -- > > >>> You received this message because you are subscribed to the Google > Groups > > >>> "Fluent NHibernate" group. > > >>> To post to this group, send email to > fluent-nhibern...@googlegroups.com. > > >>> To unsubscribe from this group, send email to > > >>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com><fluent-nhibernate%2Bunsubscr > i...@googlegroups.com> > > >>> . > > >>> For more options, visit this group at > > >>>http://groups.google.com/group/fluent-nhibernate?hl=en. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups "Fluent NHibernate" group. > > > To post to this group, send email to > fluent-nhibern...@googlegroups.com. > > > To unsubscribe from this group, send email to > fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> > . > > > For more options, visit this group athttp:// > groups.google.com/group/fluent-nhibernate?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Fluent NHibernate" group. > To post to this group, send email to fluent-nhibern...@googlegroups.com. > To unsubscribe from this group, send email to > fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/fluent-nhibernate?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibern...@googlegroups.com. To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en.