LinqDataSource - возможен ли параметр вставки по умолчанию со значением dbnull? - PullRequest
1 голос
/ 11 октября 2010

Мне нужно сделать несколько простых (или, кажется, так) операций с данными и типа CRUD на странице ASP.Net. Я использую LinqDataSource, связанный с FormView. Таблица, в которую я пытаюсь вставить, имеет ограничения по умолчанию для этих полей:

[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];

При выполнении вставки я получаю ошибку переполнения SQL Datetime, потому что он пытается вставить значение в Created and Modified, хотя я ничего не связывал с этими полями.

Мой вопрос заключается в том, как заставить LinqDataSource пропустить эти поля в операторе вставки или, по крайней мере, указать dbnull или null, чтобы разрешить использование значений по умолчанию на уровне базы данных?

1 Ответ

0 голосов
/ 11 октября 2010

Возможно, я не правильно читаю ваш вопрос, но если ограничения не допускают значений NULL, это не сработает.

...