2013-02-19 3 views
0

Я разрабатываю инструмент для отчета для моего босса, используя ASP.NET MVC3 и Entity Framework. Я использую модель POCO и DBContext для извлечения данных из нашей базы данных и создания слоя данных. Когда я создал некоторые образцы данных, это было просто: 2 таблицы с небольшим количеством столбцов, и это работало, понравилось очарование. Теперь я пытаюсь проверить свое приложение в нашей тестовой среде, где возникла проблема.ASP.NET MVC3 Entity Framework - Data Retrieval

В базе данных, в которой я работаю, имеется 137 таблиц, но мне нужны только данные из двух таблиц. Я эмулировал две таблицы, в которых мне нужны данные, и настроил мое приложение соответственно, но не кубиками. Итак, мой вопрос в том, должен ли я создавать класс для каждой таблицы, даже если мое приложение использует только две таблицы из базы данных? Кроме того, у меня есть привилегии только для чтения в этой среде. Это должно быть хорошо, потому что мое приложение просто выбирает данные, а не манипулирует им.

Update

Ошибка я получаю это:

EntityCommandExecutionException был необработанным кодом пользователя. Ошибка при выполнении определения команды.

Подробности: System.Data.SqlClient.SqlException: Недопустимое имя столбца

Имя столбца является ПК, что у меня есть для другой таблицы я присоединяюсь с.

+0

«но не кубики» - можете ли вы расширить? – glosrob

+0

Вы получаете сообщения об ошибках? Пустые данные? Что именно происходит, что заставляет его не работать? – CorrugatedAir

+0

Что заставляет ваше приложение работать в тестовой среде? Вы получаете какие-либо ошибки, пожалуйста, укажите их. – Yasser

ответ

1

Да. Вам нужно либо создать класс, либо сгенерировать классы для каждой таблицы в вашей базе данных. С инфраструктурой сущностей база данных должна соответствовать вашим классам DbContext. Вы захотите создать свои классы, так как вы уже создали свою базу данных.

http://msdn.microsoft.com/en-us/data/jj206878.aspx

+0

Нет, вы этого не сделали. Я сейчас работаю над проектом, где в базе данных нет таблиц, которые не существуют в EF, и все работает нормально. (Обратите внимание, что сначала используется база данных - я не знаю о Code First) – CorrugatedAir

+0

@CorrugatedAir С кодом сначала ваша база данных должна соответствовать вашему DataContext – bluetoft

+0

А, ок. ОП не указывал, использовал ли он код First или нет, просто у него есть объекты POCO. Если он использует Code First, сначала он может переключиться на базу данных. – CorrugatedAir