ASP.Net ページで単純な (またはそう思われる) データバインディングと CRUD タイプの操作を実行する必要があります。FormView に接続された LinqDataSource を使用しています。挿入しようとしているテーブルには、これらのフィールドのデフォルトの制約があります。
[Created] [datetime] NOT NULL
[CreatedBy] [nvarchar](50) NOT NULL
[Modified] [datetime] NOT NULL
[ModifiedBy] [nvarchar](50) NOT NULL
ALTER TABLE [dbo].SolutionComponent ADD CONSTRAINT [DF_SolutionComponent_Created] DEFAULT (getdate()) FOR [Created];
ALTER TABLE [dbo].SolutionComponent ADD CONSTRAINT [DF_SolutionComponent_CreatedBy] DEFAULT (suser_sname()) FOR [CreatedBy];
ALTER TABLE [dbo].SolutionComponent ADD CONSTRAINT [DF_SolutionComponent_Modified] DEFAULT (getdate()) FOR [Modified];
ALTER TABLE [dbo].SolutionComponent ADD CONSTRAINT [DF_SolutionComponent_ModifiedBy] DEFAULT (suser_sname()) FOR [ModifiedBy];
挿入を行うと、これらのフィールドに何もバインドしていないにもかかわらず、Created および Modified に値を挿入しようとしているため、SQL Datetime オーバーフロー エラーが発生します。
私の質問は、LinqDataSource を取得して、insert ステートメントでこれらのフィールドを省略したり、少なくとも dbnull または null を指定して、データベース レベルのデフォルトが引き継がれるようにする方法を教えてください。