[return:MarshalAs]
public ISomething Foo()
{
return new MyFoo();
}
Это ограничение по умолчанию, вам необходимо выполнить следующее:
ALTER TABLE {TableName}
DROP CONSTRAINT ConstraintName
Если вы не указали имя при создании ограничения, то SQL Server создал его для вас. Вы можете использовать SQL Server Management Studio, чтобы найти имя ограничения, перейдя к таблице, открыв ее узел дерева, а затем открыв узел "Ограничения".
Если я правильно помню, ограничение будет называться как-то вроде DF_SomeStuff_ColumnName.
1284] РЕДАКТИРОВАТЬ: Ответ Джоша В. содержит ссылку на вопрос SO , в котором показано, как найти автоматически сгенерированное имя ограничения с помощью SQL вместо использования интерфейса Management Studio.
затем SQL Server создал его для вас. Вы можете использовать SQL Server Management Studio, чтобы найти имя ограничения, перейдя к таблице, открыв ее узел дерева, а затем открыв узел "Ограничения".Если я правильно помню, ограничение будет называться как-то вроде DF_SomeStuff_ColumnName.
РЕДАКТИРОВАТЬ: Ответ Джоша В. содержит ссылку на вопрос SO , в котором показано, как найти автоматически сгенерированное имя ограничения с помощью SQL вместо использования интерфейса Management Studio.
затем SQL Server создал его для вас. Вы можете использовать SQL Server Management Studio, чтобы найти имя ограничения, перейдя к таблице, открыв ее узел дерева, а затем открыв узел "Ограничения".Если я правильно помню, ограничение будет называться как-то вроде DF_SomeStuff_ColumnName.
1284] РЕДАКТИРОВАТЬ: Ответ Джоша В. содержит ссылку на вопрос SO , в котором показано, как найти автоматически сгенерированное имя ограничения с помощью SQL вместо использования интерфейса Management Studio.
Это то, что я придумал (прежде чем увидеть ответ Джоша У., ну на самом деле я видел это, но бегло просмотрел, что неправильно понял):
declare @name nvarchar(100)
select @name = [name] from sys.objects where type = 'D' and parent_object_id = object_id('sometable')
if (@name is not null)
begin
exec ('alter table [sometable] drop constraint [' + @name +']')
end
У меня есть преимущество в том, что я знаю, что есть только один такое ограничение на всю таблицу. Если бы их было двое, я полагаю, именно поэтому вы должны дать им имена;)
(Проблема в том, что это модификация, внесенная в 10 различных клиентских баз данных, поэтому нет одного согласованного имени для вставьте скрипт)