سؤال

أحاول استخدام FluentNoMernate مع تلقائي ولكن أتلقى الخطأ التالي

  No persister for: nHibernateSpike.Entities.Route
    NHibernate.MappingException: No persister for: nHibernateSpike.Entities.Route

إليك الاشياء ذات الصلة؛

        var model = AutoMap.AssemblyOf<Route>().
            Where(t => t.Namespace == "nHibernateSpike.Entities");

        model.WriteMappingsTo(@"c:\hbm");

        var db = MsSqlConfiguration.MsSql2008
            .ConnectionString(c => c
            .Server("localhost")
            .Database("PTSIntegrationDB")
            .TrustedConnection()
            )
            .ShowSql();

        var sessionFactory = Fluently.Configure()
            .Database( db )
            //.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Route>())
            .Mappings(m => m.AutoMappings.Add(model))
            .BuildSessionFactory();

        return sessionFactory;

شخصية

        namespace nHibernateSpike.Entities
        {
            public class Route
            {
                public virtual int Id { get; private set; }
                public virtual string Number { get; set; }
                public virtual string ConfirmationCategory { get; set; }

                public Route() { }

            }
        }

أنا سحب شعري خارج. باستخدام أعمال الفصل الدراسي التالية؛

        public class RouteMap: ClassMap<Route>
        {
            public RouteMap()
            {
                Table("Route");
                Id(c => c.Id);
                Map(c => c.Number);
                Map(c => c.ConfirmationCategory);
            }

        }

لدي الفرصة لاستخدام Automap لدفع DB Oon هذا المشروع، وأود استخدامه - أي أدلة؟

هل كانت مفيدة؟

المحلول

يبدو أنني أذكر هناك خطأ رائع حيث الاتصال WriteMappingsTo يمكن أن تمنع تعييناتك من تمريرها إلى أحمق، حاول إزالة تلك المكالمة ورؤية ما يحدث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top