Using
EntitySpaces Version # 2008.1.0623.0
MyGeneration Version # 1.3.0.3
Why does this code work?
Code:
Test1 t1 = new Test1();
if (t1.LoadByPrimaryKey(1, 1))
{
Test2 t2 = t1.Test2CollectionBySourceId.AddNew();
t1.Save();
}
But this does not?
Code:
Test1 t1a = new Test1();
t1a.AddNew();
t1a.ItemId = 1;
t1a.SourceId = 2;
Test2 t2a = t1a.Test2CollectionBySourceId.AddNew();
t1a.Save();
t1a.Save() tells me
Cannot insert the value NULL into column 'SourceId', table 'SentryFile.dbo.Test2'; column does not allow nulls. INSERT fails.
Am I missing something simple here? If I change the code and add another Save it works but this seems redundant.
Code:
...
t1a.SourceId = 2;
t1a.Save();
Test2 t2a = t1a.Test2CollectionBySourceId.AddNew();
SQL Definitions
Code:
CREATE
TABLE [dbo].[Test1]([SourceId] [int]
NOT NULL,[ItemId] [int]
NOT NULL,CONSTRAINT [PK_Test1] PRIMARY KEY CLUSTERED (
[SourceId]
ASC,[ItemId]
ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY])
ON [PRIMARY]
CREATE
TABLE [dbo].[Test2]([SourceId] [int]
NOT NULL,[ItemId] [int]
NOT NULL,[Item] [int]
IDENTITY(1,1) NOT NULL,CONSTRAINT [PK_Test2] PRIMARY KEY CLUSTERED (
[SourceId]
ASC,[ItemId]
ASC,[Item]
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].[Test2] WITH CHECK ADD CONSTRAINT [FK_Test2_Test1] FOREIGN KEY([SourceId], [ItemId])REFERENCES
[dbo].[Test1] ([SourceId], [ItemId])GO
ALTER
TABLE [dbo].[Test2] CHECK CONSTRAINT [FK_Test2_Test1]