I am having a problem with many to many.
I had the same problem before, but I fixed it by toggling relations back on which I had previously hidden.
I created a very simple project from scratch and I STILL can't get many-to-many to work, even when I basically copy the sample code out of the help file.
What can possibly be wrong with this?
Error on this line: adapter.SaveEntity(surveyPackage, true);
An exception was caught during the execution of an action query: Cannot insert the value NULL into column 'PackageID', table 'Scratch.dbo.SurveyPackage'; column does not allow nulls. INSERT fails.
The statement has been terminated.. Check InnerException, QueryExecuted and Parameters of this exception to examine the cause of this exception.
class Program
{
static void Main(string[] args)
{
var adapter = new DataAccessAdapter();
var survey = new SurveyEntity(new Guid("bf04c246-fe88-dd11-941d-005056c00008"));
adapter.FetchEntity(survey);
var package = new PackageEntity { Name = "Test" };
var surveyPackage = new SurveyPackageEntity {Survey = survey, Package = package};
adapter.SaveEntity(surveyPackage, true);
}
}
Database:
CREATE TABLE [dbo].[Package](
[PackageID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_Package_PackageID] DEFAULT (newsequentialid()),
[Name] nchar NOT NULL,
CONSTRAINT [PK_Package] PRIMARY KEY CLUSTERED
(
[PackageID] 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
/****** Object: Table [dbo].[Survey] Script Date: 09/22/2008 19:43:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Survey](
[SurveyID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_Survey_SurveyID] DEFAULT (newsequentialid()),
[Name] nchar NOT NULL,
CONSTRAINT [PK_Survey] PRIMARY KEY CLUSTERED
(
[SurveyID] 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
/****** Object: Table [dbo].[SurveyPackage] Script Date: 09/22/2008 19:43:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SurveyPackage](
[SurveyPackageID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_SurveyPackage_SurveyPackageID] DEFAULT (newsequentialid()),
[SurveyID] [uniqueidentifier] NOT NULL,
[PackageID] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_SurveyPackage] PRIMARY KEY CLUSTERED
(
[SurveyPackageID] 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].[SurveyPackage] WITH CHECK ADD CONSTRAINT [FK_SurveyPackage_Package] FOREIGN KEY([PackageID])
REFERENCES [dbo].[Package] ([PackageID])
GO
ALTER TABLE [dbo].[SurveyPackage] CHECK CONSTRAINT [FK_SurveyPackage_Package]
GO
ALTER TABLE [dbo].[SurveyPackage] WITH CHECK ADD CONSTRAINT [FK_SurveyPackage_Survey] FOREIGN KEY([SurveyID])
REFERENCES [dbo].[Survey] ([SurveyID])
GO
ALTER TABLE [dbo].[SurveyPackage] CHECK CONSTRAINT [FK_SurveyPackage_Survey]