В моем коде есть метод, который должен иметь тип возвращаемого значения void, и он должен принимать только один конкретный параметр. Мне нужно что-то вернуть из этого.
Чтобы дать вам подробности: у меня есть служба WCF, которая имеет доступ к SQL-серверу. В нем был код, сгенерированный программой SQLMetal.exe. Это дало мне частичный класс (DataContext) с частичными методами. Я создаю другую часть этого частичного класса, и эти частичные методы являются такими вещами, как «InsertUser» или «DeleteUser». Они не реализованы в другой части частичного класса, но я думаю, это означает, что я должен реализовать их. Это нормально и все, но если они являются частичными методами, они должны иметь возвращаемый тип void.
Так что, если я захочу вернуть что-нибудь из одного из них? Я имею в виду, что приложение может подключиться к этому сервису и использовать его для доступа к информации базы данных. Это приложение должно знать, была ли ошибка на стороне службы.
Так что это частичный метод с возвращаемым типом void и предопределенным набором параметров.
Что делать?
Редактировать: Подробнее!
Во-первых, почему я не могу изменить сгенерированный код? Ну, это хорошее предложение, но меня это беспокоит. Причина, по которой он сгенерирован как есть, заключается в том, чтобы минимизировать будущие проблемы кодирования, если база данных изменится, и вам придется заново генерировать код.
Во-вторых, какой-то код:
[System.Data.Linq.Mapping.DatabaseAttribute(Name = "HVD01")]
public partial class HydraDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
#region Extensibility Method Definitions
partial void OnCreated();
partial void InsertClient(Client instance);
partial void UpdateClient(Client instance);
Так что это соответствующая часть сгенерированного кода.
Тогда моя часть. Это в другом частичном классе, который соединяется с сгенерированным.
public void UpdateClient(Client client)
{
//Primary key can't be zero
if (client.ClientID == 0)
return;
dc.Clients.Attach(client, true);
dc.SubmitChanges();
}
Очевидно, что есть потенциальные вещи, которые нужно вернуть.
Как насчет исключений? Хорошо, если я добавлю один в службу WCF, я не думаю, что приложение получит его (я могу ошибаться здесь). Приложение использует сервис, но я не думаю, что создание исключения для сервиса дойдет до потребляющего приложения. Будет ли это?
Может быть, просто изменение функций - к лучшему. Я просто подумал, что весь смысл в том, чтобы как можно больше оставлять сгенерированный код на тот случай, если вам понадобится его восстановить.
Еще раз спасибо.