FYI:  If I collect the Employee object instances into a List<Employee>
and iterate through them via foreach loop and call SaveOrUpdate
method, the INSERT's into dbo.[Employee] occur.  Later on, when the
example code saves the Store objects, it also generates corresponding
UPDATE EMPLOYEE ... SET Store_Id ... WHERE Id = ...., so hopefully,
whatever part of Fluent NHibernate doesn't realize that the unsaved
Stored instances contain a List<Employee> of unsaved Employee
instances can be corrected in short order and I can remove my
temporary work-around.

On Feb 12, 5:56 pm, James Gregory <[email protected]> wrote:
> Somebody else just raised this exact issue today, I'll investigate asap.
> Thanks.
>
>
>
> On Thu, Feb 12, 2009 at 9:20 PM, fmorriso <[email protected]> wrote:
>
> > I'm running the Examples.FirstProject using Microsoft SQL Server 2008
> > Developer Edition and Visual Studio 2008 SP1, .Net Framework 3.5 SP1
> > and it does not generate any INSERT's for the Employee table.
>
> > The narrative for the example indicates that saving a Store object
> > should auto-generate any necessary Employee INSERT's, but the output
> > on the console shows only INSERT's for Store, Product and
> > StoreProduct.  A SELECT * FROM dbo.[Employee] returns zero rows.
>
> > There aren't very many changes needed to switch the example to use SQL
> > Server 2008, but perhaps one or more of those changes I made could
> > have disabled the automatic generation of Employee INSERT
> > statements?   I hate to post tons of code, so if somebody could email
> > me to show me how to upload the code, I'd be glad to share it - and
> > maybe learn something in the process.
>
> > Here's just a small example of a change I made to allow the example to
> > use SQL Server 2008.  Hopefully, I didn't mess it up too bad:
>
> >        /// <summary>
> >        /// Sets up the required NHibernate session factory
> >        /// </summary>
> >        /// <returns>ISessionFactory instance</returns>
> >        private static ISessionFactory CreateSessionFactory()
> >        {
> >            string connString = GetDatabaseConnectionString();
> >            Console.WriteLine(connString);
>
> >            // Use Fluent NHibernate instead of an NHibernate XML
> > config file
> >            return Fluently.Configure()
> >                .Database(MsSqlConfiguration.MsSql2005
> >                .ConnectionString(c => c.Is(connString))
> >                .ShowSql()
> >                .DefaultSchema("dbo")
> >                )
> >                .Mappings(m => m
> >                  .FluentMappings.AddFromAssemblyOf<Program>()
> >                )
> >                //WARNING: will DROP/CREATE tables .ExposeConfiguration
> > (BuildSchema)
> >                .BuildSessionFactory();
> >        }
>
> > I built the database myself (so I'm a control freak, sue me) rather
> > than end up with weird PK and FK constraint names.
>
> > The DDL for the Employee table looks like this:
>
> > CREATE TABLE [dbo].[Employee](
> >        [Id] [int] IDENTITY(1,1) NOT NULL,
> >        [LastName] [nvarchar](100) NOT NULL,
> >        [FirstName] [nvarchar](100) NOT NULL,
> >        [Store_id] [int] NULL,
> >  CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED
> > (
> >        [Id] ASC
> > )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
> > = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
> > ) ON [PRIMARY]
>
> > GO
>
> > ALTER TABLE [dbo].[Employee]  WITH NOCHECK
> >    ADD  CONSTRAINT [FK_Employee_Store] FOREIGN KEY([Store_id])
> >    REFERENCES [dbo].[Store] ([Id])
> > GO
>
> > ALTER TABLE [dbo].[Employee] CHECK CONSTRAINT [FK_Employee_Store]
> > GO
>
> > The DDL for Store looks like this:
>
> > CREATE TABLE [dbo].[Store](
> >        [Id] [int] IDENTITY(1,1) NOT NULL,
> >        [Name] [nvarchar](100) NOT NULL,
> >  CONSTRAINT [PK_Store] PRIMARY KEY CLUSTERED
> > (
> >        [Id] ASC
> > )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
> > = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
> > ) ON [PRIMARY]
>
> > GO- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" 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/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to