MVC / WCF и Ado net Entity Framework - PullRequest
       2

MVC / WCF и Ado net Entity Framework

2 голосов
/ 10 декабря 2010

У меня есть веб-сервис (WCF), который использует платформу Ado .net Entity для работы с базой данных. Я генерирую все сущности, используя эту платформу. Поэтому мой вопрос: могу ли я использовать эти модели, сгенерированные платформой Entity, для моего приложения MVC, просто ссылающегося на веб-сервис? Если все в порядке, то перестает писать Model на платформе MVC, что экономит много времени.

Подводя итог и прояснив, Можно ли использовать прокси-клиент wcf в качестве модели представления mvc.

Ответы [ 3 ]

2 голосов
/ 10 декабря 2010

Да, безусловно, добавьте ссылку на службу в службу WCF, определите интерфейс репозитория, который будет представлять операции, которые вы можете выполнять с классами модели, и при реализации этого интерфейса просто вызовите службу с помощью автоматически сгенерированного прокси-клиента.

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

На самом деле в правильно сконструированном приложении ASP.NET MVC контроллер никогда не должен знать, откуда поступают данные: это может быть база данных SQL, какая-то ORM Framework, удаленная служба, ... все, что контролердолжен работать с этим контрактом, который вы определили (хранилище), и сопоставить модели представления и фактические модели.Фактическая обработка данных должна выполняться конкретной реализацией вашего хранилища.

1 голос
/ 10 декабря 2010

Да, вы можете .MVC по умолчанию удаляет специфичные для EF свойства .

. В первом разделе мы определяем метод ShouldShow, который извлекается прямо из логики для нашего шаблона объекта по умолчанию.Вы заметите, что есть упоминание System.Data.EntityState (определено в System.Data.Entity.dll), которое используется для фильтрации некоторых свойств Entity Framework .Если вы не используете Entity Framework, вы можете безопасно удалить эту строку.Вы будете знать, что вам не нужна эта строка, если вы не ссылаетесь на System.Data.Entity.dll, что приведет к тому, что этот код взорвется, как алюминиевая фольга в микроволновой печи.

1 голос
/ 10 декабря 2010

Переместите сгенерированные модели сущностей в отдельную сборку и создайте ссылку на сборку из обоих проектов.

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