Я новичок в Silverlight, но меня бросают в драку - хороший способ узнать, я полагаю: o)
В любом случае, веб-приложение, над которым я работаю, имеет относительно сложную структуру базы данных, которая представляетразличные типы объектов, которые связаны друг с другом, и мне было интересно 2 вещи:
1- Каков рекомендуемый подход, когда дело доходит до классов данных?Есть только один большой класс данных или попробуйте разделить его на несколько небольших классов данных, помня о том, что они должны будут ссылаться друг на друга?2- Если рекомендуемый подход состоит в том, чтобы иметь несколько классов данных, как вы определяете ссылки между классами данных?
Я спрашиваю, потому что я провел небольшой тест.В моей БД (здесь упрощенно, реальная модель более сложная, но это не важно), у меня есть таблица «Заказы» и таблица «Параметры».«Заказы» имеет внешний ключ на «Параметры».Я создал 2 класса данных.Первый, ParamClass , где я отбросил только таблицу «Параметры», чтобы я мог иметь хороший «параметр» класс.Затем я создал простой сервис для добавления базовой функциональности SELECT и INSERT.
Второй, OrdersClass , где я отбросил обе таблицы, так что связь между таблицами автоматически создаст «EntityRef * 1014».* "переменная внутри класса " порядок ".Затем я удалил класс «параметров», который был автоматически создан в классе данных OrdersClass, поскольку этот класс уже был объявлен в классе данных ParamClass.Я снова создал небольшой сервис для его тестирования.
Пока все хорошо, он строится счастливо.Проблема заключается в том, что когда я пытаюсь что-то обработать в коде приложения, я добавляю ссылки на сервисы для обоих классов данных, но это не радует, что-то вроде:
OrdersServiceReference.order myOrder = new OrdersServiceReference.order();
myOrder.parameter = new ParamServiceReference.parameter(); //<-PROBLEM IS HERE
Он заявляет, что не может неявно конвертировать из типа'MytestDC.ParamServiceReference.parameter' в 'MytestDC.OrdersServiceReference.parameter'
Нужно ли мне как-то объявлять какую-то ссылку на ParamClass из OrdersClass, или как мне "преобразовать" одну в другую?Это даже рекомендуемый и эффективный способ сделать это?Поскольку это командный проект, я изначально хотел разделить классы данных, чтобы один (и их сервис) мог легко проверить один участник без проверки всего класса данных.
Любая помощь приветствуется!
PS: использование Silverlight 4, на случай, если это важно