@Fabio thank for fast anwer, will try to use <index> and see if that
helps

@Kim IList impl ICollection, so it makes no diff for this.

On 19 Apr., 14:01, Fabio Maulo <[email protected]> wrote:
> In NH2.1.2 we have a bug for <list-index> node. For NH2.1.2 you should use
> <index>
>
> On Mon, Apr 19, 2010 at 4:33 AM, Lehmann, Peter <[email protected]>wrote:
>
>
>
>
>
> >  Hi,
>
> > how can one get nhibernate to create the index number when using list on
> > save?
>
> > here is a sample code for this.
> > sql:CREATE TABLE Person(
> > [Id] UNIQUEIDENTIFIER NOT NULL,
> > [Name] NVARCHAR(35) NOT NULL,
> > CONSTRAINT [Person_Pk] PRIMARY KEY CLUSTERED([Id])
> > )
>
> > CREATE TABLE Skill(
> > [Id] UNIQUEIDENTIFIER NOT NULL,
> > [Name] NVARCHAR(35) NOT NULL,
> > [IndexNumber] INT NOT NULL,
> > [PersonId] UNIQUEIDENTIFIER NOT NULL,
> > CONSTRAINT [Skill_Pk] PRIMARY KEY CLUSTERED([Id]),
> > CONSTRAINT [Person_Skill_Fk] FOREIGN KEY ([PersonId]) REFERENCES [Person](
> > [Id]),
> > CONSTRAINT [Skill_Ak1] UNIQUE NONCLUSTERED([PersonId], [IndexNumber]))
>
> > domain entities and test save
> > public class Person
> >     {
> >         public Person()
> >         {
> >             Skills = new List<Skill>();
> >         }
> >         public Guid Id { get; set; }
> >         public string Name { get; set; }
> >         public ICollection<Skill> Skills { get; protected set; }
> >     }
>
> >     public class Skill
> >     {
> >         protected Skill()
> >         {
> >         }
>
> >         public Skill(Person person)
> >             :this()
> >         {
> >             Person = person;
> >         }
> >         public Guid Id { get; set; }
> >         public string Name{ get; set; }
> >         public int Index { get; protected set; }
> >         public Person Person { get; protected set; }
> >     }
>
> >     public class CreateObjectTests
> >     {
> >         public void Test()
> >         {
> >             Configuration configuration = new Configuration().Configure(
> > typeof(Person).Assembly, "NhibernateListSample.Cfg.xml");
>
> >             var sessionFactory = configuration.BuildSessionFactory();
> >             var session = sessionFactory.OpenSession();
> >             var person = new Person {Id = new Guid(
> > "2a1977a8-815a-4e53-a36e-0a5381487ea3"), Name = "Test User 1"};
> >             person.Skills.Add(new Skill(person){Id = new Guid(
> > "b42c3007-213f-4169-b686-fd1b4629f787"), Name = "Skill 1"});
>
> >             person.Skills.Add(new Skill(person){Id = new Guid(
> > "1c198810-672d-4843-bf18-b47762f3c473"), Name = "skill 2"});
>
> >             session.Save(person);
> >         }
> >     }
>
> > mapping:
> > <?xml version="1.0" encoding="utf-8" ?>
> > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >
> >   <class name="Person" lazy="false" table="Person">
> >     <id name="Id" column="Id" unsaved-value="
> > 00000000-0000-0000-0000-000000000000" type="guid">
> >       <generator class="guid.comb" />
> >     </id>
> >     <property name="Name" column="Name" not-null="true" length="35" />
> >     <list name="Skills" cascade="all" batch-size="10" inverse="true" lazy=
> > "true">
> >       <key column="PersonId" />
> >       <list-index column="IndexNumber" base="1" />
> >       <one-to-many class="Skill" />
> >     </list>
> >   </class>
> >   <class name="Skill" lazy="false" table="Skill">
> >     <id name="Id" column="Id" unsaved-value="
> > 00000000-0000-0000-0000-000000000000" type="guid">
> >       <generator class="guid.comb" />
> >     </id>
> >     <property name="Name" column="Name" not-null="true" length="35" />
> >     <property name="Index" column="IndexNumber" insert="false" update="
> > false" />
> >     <many-to-one name="Person" class="Person" cascade="none" lazy="false"/>
> >   </class>
> > </hibernate-mapping>
>
> > Med Venlig Hilsen / Best Regards
>
> > Peter Lehmann
>
> >  --
> > 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.
>
> --
> Fabio Maulo
>
> --
> 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 
> athttp://groups.google.com/group/nhusers?hl=en.- Skjul tekst i anførselstegn -
>
> - Vis tekst i anførselstegn -

-- 
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