Ошибка при попытке реализовать Code First (CTP 5) в службе данных WCF - PullRequest
0 голосов
/ 11 февраля 2011

Я пытаюсь реализовать Code First (CTP 5) в моей службе данных WCF (OData). Это простой сценарий, но я получаю HTTP 500 Internal Server Error без особых подробностей. Я поместил это в Службу данных, чтобы показать подробности ошибки.

    [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]

Однако я все еще не вижу, что происходит не так.

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

        public MyContext() : base("MyConnection")
        {
        }

И у меня есть такой простой член, как этот.

public DbSet<MyData> MyData{ get; set; }

Я реализовал членов класса MyData по мере необходимости. Все, что я получаю в браузере, это 500 Внутренняя ошибка сервера без каких-либо подробностей.

Что не так с моей реализацией?

1 Ответ

0 голосов
/ 18 февраля 2011

После некоторых исследований методом проб и ошибок я обнаружил проблему.Положите его сюда, чтобы помочь другим приземлиться в этой ситуации.Один из объектов в моей модели рассматривается как сложный тип, и я ссылаюсь на него в другом объекте POCO в моей модели как на коллекцию, которая, очевидно, не поддерживается EF Code First (что имеет смысл).Эти ссылки помогли мне понять это лучше.

[Сложные типы] http://weblogs.asp.net/manavi/archive/2010/12/11/entity-association-mapping-with-code-first-part-1-one-to-one-associations.aspx

[Условные обозначения в CodeFirst] http://blogs.msdn.com/b/efdesign/archive/2010/06/01/conventions-for-code-first.aspx

Имейте в виду, что может быть много таких экземпляров 500, которые вызваны из-за неправильного моделированияОбъекты.Обязательно проверьте Соглашения и то, как Code First работает в фоновом режиме, чтобы понять ваши взаимоотношения.

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