Someone might have a better answer, but my suggestion is that you switch to
HBM or Fluent mapping.
Almost nobody uses NHibernate.Mapping.Attributes, so it's not being
maintained a lot.
Neither HBM nor Fluent have that problem, and they are just as easy to use.

   Diego


On Wed, Jan 20, 2010 at 14:31, Sam Kimmel <[email protected]> wrote:

> After a couple days of tinkering around I was able to get
> NHibernate.Mapping.Attributes (2.1 GA) to work. Does anyone know why I
> need to explicitly specify the Class name or the type of the ID in the
> attributes?  It is smart enough to figure out the names and types of
> the properties without explicitly setting them, but can't pick up the
> class name or id type for some reason.
>
> I've supplied the working bits of code below...maybe there is
> something I am missing:
>
> ==================================================================
> User Class (located in "MyProject.Core" assembly,
> "MyProject.Core.Domain" namespace)
> ==================================================================
>        [Serializable()]
>        [Class(Name="User", Table="tw_users")]
>        public class User
>        {
>                [Id(UnsavedValue="0", Type="int"), Generator(Class =
> "native")]
>                public virtual int UserId { get; set; }
>
>                [Property(Length = 50, NotNull = true)]
>                public virtual string Name { get; set; }
>
>                [Property(Length = 128, NotNull = true, Unique = true)]
>                public virtual string Email { get; set; }
>
>                [Property(Length = 40, NotNull = true)]
>                public virtual string Password { get; set; }
>
>                [Property(NotNull = true)]
>                public virtual bool Approved { get; set; }
>
>                [Property(NotNull = true)]
>                public virtual DateTime CreatedOn { get; set; }
>        }
>
> =======================================
> Session Helper (located in MyProject.Data assembly)
> =======================================
>        public sealed class NHibernateSessionManager
>        {
>                private static Configuration config = null;
>                private static ISessionFactory sessionFactory = null;
>
>                static NHibernateSessionManager()
>                {
>                        if (config == null)
>                        {
>                                using (MemoryStream stream = new
> MemoryStream())
>                                {
>                                        HbmSerializer.Default.HbmNamespace =
> "MyProject.Core.Domain";
>                                        HbmSerializer.Default.HbmAssembly =
> "MyProject.Core";
>                                        HbmSerializer.Default.Validate =
> true;
>
>  HbmSerializer.Default.Serialize(stream, typeof
> (Tectonic.Core.Domain.User).Assembly);
>                                        stream.Position = 0;
>                                        config = new
> Configuration().Configure();
>                                        config.AddInputStream(stream,
> "Domain.hbm.xml");
>                                        sessionFactory =
> config.BuildSessionFactory();
>                                }
>                        }
>                }
>
>                public static ISession OpenSession()
>                {
>                        return sessionFactory.OpenSession();
>                }
>
>                public static IStatelessSession OpenStatelessSession()
>                {
>                        return sessionFactory.OpenStatelessSession();
>                }
>
>                // Remove from release -- completely destroys and rebuilds
> db from
> domain model
>                public static void BuildDb()
>                {
>                        new
> NHibernate.Tool.hbm2ddl.SchemaExport(config).Execute(false,
> true, false);
>                }
>        }
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
>
>
>
--
You received this message because you are subscribed to the Google Groups "nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.

Reply via email to