Entity Framework - проблема ассоциации - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть структура сущностей Сложный тип (активность), который я сопоставил с SP, который возвращает записи данных.

класс деятельности просмотренная строка зарегистрированная строка

Мне нужно создать еще одну другую сущность EF (сложного типа?), Которая будет содержать метаданные об этом объекте, а также данные об объекте - список, но я не знаю, как сделать эту связь (список).

класс ActivityData строка итоговых записей строковые страницы Список записей

Мне нужно было бы сериализовать этот класс Activity в ответ на веб-запрос в json. Похоже на это:

[WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
public Activity GetActivity(string total_records, string sql_params)
{
    List<activity> activityList;
    using (ModelEntities context = new ModelEntities())
    {
        resultList = context.CallSP();
    }
    ActivityData data = new ActivityData();
    data.totalrecords = 10;
    data.pages = 5;
    activity.records = List<activity>;

    return activity;
}

1 Ответ

3 голосов
/ 10 февраля 2012

У вас есть несколько проблем:

  • Сложные типы не могут участвовать в отношениях.Поэтому у вас не может быть сложного типа, у которого есть свойство навигации для набора других сложных типов или объектов, а также у вас не может быть сущности, у которой есть свойство навигации для набора сложных типов.
  • Хранимые процедуры не могут заполнять отношения.

Оба ваших Activity и AcitivityData должны быть сопоставленными объектами (это обычно означает, что они должны быть либо таблицами, либо представлениями в базе данных), и вы должны использовать Linq, если хотите загрузить действия и их данные.в одной базе данных.

Вы также будете использовать атрибуты сериализации , чтобы убедиться, что ваши отношения сериализуются в JSON.

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