Можно ли выставлять сгенерированные классы LinqToSQL в веб-сервисе? - PullRequest
0 голосов
/ 19 декабря 2011

Я делаю веб-службу asmx и использую LinqToSQL для работы с базой данных.

Мне кажется, что использовать классы, сгенерированные LinqToSQL, легко в качестве аргументов или возвращаемых значений в веб-методах.Например:

[WebMethod]
public OperationResult Meet_ListMeets(string clientToken, out meet[] meets)
{
    ServiceMeet s = new ServiceMeet(sqlCon, clientToken);
    return s.ListMeets(out meets);
}

Где "meet" - это класс LinqToSQL.Я обнаружил, что класс meet представлен как сложный тип WSDL, включающий все зависимости (например, другие классы, для которых встречаются внешние ключи в базе данных).

Главный вопрос - это "хорошая практика - использовать классы?"сюда?".Как насчет безопасности?Должен ли я использовать классы-обертки, чтобы скрыть свою структуру сущностей?

1 Ответ

1 голос
/ 19 декабря 2011

Не очень хорошая практика, и в какой-то момент вы, скорее всего, столкнетесь с проблемами.Не говоря уже о накладных расходах всего этого лишнего шума по проводам.

То, что я делал в прошлом, - это создание "промежуточной" модели только с полями, которые мне действительно нужно отправить по проводам, иотобразите их обратно на реальный объект, когда они войдут. Вы можете выполнить сопоставление вручную или с помощью одного из множества наборов инструментов сопоставления для .NET (см. NuGet).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...