Comments 5
Полезная плюшка, даёт возможность посмотреть формируемый EF sql:
public static string ToTraceString<T>(this IQueryable<T> t)
        {
            string sql = "";
            ObjectQuery<T> oqt = t as ObjectQuery<T>;
            if (oqt != null)
            {
                
                StringBuilder sb = new StringBuilder(oqt.ToTraceString());

                foreach (ObjectParameter p in oqt.Parameters)
                {
                    sb.Replace("@"+p.Name,"'" +p.Value+"'");
                }

                sql= sb.ToString();
            }
            
            return sql;
        }
В какой-то мере оно полезно, и за перевод нужно однозначно сказать спасибо XaosCPS, но вот по содержанию…

Сколько еще микрософт будет держать всех за чайников? Ни одного примера редактирования сложного объекта здесь нет — только одна сущность за раз. Теже enrollment заполняются только при инициализации базы тчк

Учат молодое поколение писать неэффективный код, который генерирует N запросов к базе данных:
foreach (Enrollment enrollment in selectedCourse.Enrollments)
{
db.Entry(enrollment).Reference(x => x.Student).Load();
}

Зато да, красиво. А не дай бог студент в свою очередь вычитает какой-то еще список (в реальном проекте так и будет) и все, проект безбожно тормозит…
О, я нашел пример редактирования сложного объекта — Instructor/Edit, только почему-то там красота автоматического биндинга параметров в объект куда-то исчезает — просто разгребается FormCollection и все делается вручную :(
Перевод отличный. Сам читал эту статью еще в английском варианте, но так и не дошли руки попробовать (я с .Net давно уже не работаю, если память не изменяет, еще со второй версии).

Но вот на днях решил попробовать MVC 4.
Все было хорошо. Стартовый проект создался, завелся.
Добавил в модель новое поле, оно появилось в БД — красота.
Создал еще несколько моделей (в другом DbContext). Тоже все хорошо, все работает.

И тут мне надо стало увязать первую первую модель с одной из созданных. Сделал. Вроде завелось без глюков, но вот при выборке данных стали вылетать ошибки (какие уже не вспомню), облазил инет, ни чего полезного не нашел.

Решение показалось вполне логичным: перенес все из второго DbContext в первый. Второй грохнул.
В итоге все завелось но опять не пахало с теми же ошибками.

Тогда я грохнул нафиг все таблицы в БД.
Запустил, НО тут увидел что то непонятное: в БД развернулась только первая модель, и то без дополнительных полей, такая какая была создана при первом старте, еще без правок в моделях. Остальные модели в БД даже не появились.

Тогда я грохнул уже файл БД и создал новую. Результат тот же.
Прогулялся по всем файлам в папке с проектом, следов «кеша» EF ни где не нашел, не понимаю, с какого перепугу и откуда он берет старую модель…

Подскажите, люди, что не так и что делать? :)

Спасибочки.
Only those users with full accounts are able to leave comments. Log in, please.