Странен проблем с джъдж
Решавам изпита
C# DB Advanced Retake Exam - 01.09.2018
проблема е, че на 2ра задача за частта в която трябва да импортна от XML не получавам точки.
Джъдж казва "1) Failed : Import_000_003.ImportPurchasesZeroTest : Inserted Purchases count is incorrect! Expected: 3"
Понеже теста е нулев 3тия имам достъп до тестовия код, копирам си го във Nunit пускам теста и минава без проблем а в джъдж не иска. Пояснявам тест който джъдж казва че не минава, същият тест го пускам на моя комп и няма проблем всичко е зелено.
На моя комп си импортира 3 записа всичко си е идеално. Интересно ми е защо се получава това?
На 3та задача пък на експорта към JSON при мен си работи експортира си както е в документа... обаче в джъдж се счупва и дава нула точки по ей тая причина:
"1) Error : Export_000_001.ExportGamesByGenresZeroTest : System.InvalidOperationException : Query source (from Purchase <generated>_1 in value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[VaporStore.Data.Models.Purchase])) has already been associated with an expression. at Remotion.Linq.Clauses.QuerySourceMapping.AddMapping(IQuerySource querySource, Expression expression)"
Тия ексепшъни аз не ги получавам само в тестването се явяват. На вид го докарвам на джъдж не мога нещо
Ми то и лектора го решава и има и авторско решение ама въпроса е щом на мен ми върви грешно ли е въпреки това или просто джъдж си е особен и се чупи при някакви обстоятелства ако е второто какви са му обстоятелствата за да не ги повтарям и нататък?
Това е моето решение
Решението което гледам на Стоян Шопов за да валидира дали има ентити със дадено име бърка в контекста при всяко въвеждане, аз си правя едни масиви от анонимни обекти с [Name, Id] то става като речник малко... и валидирам според това дали има Id за съответното име... Понеже той вади ентитита той ги буха в nav-prop при създаване на новия запис а аз им вкарвам само Id във ForeignKey щото това имам от моите масиви... Това ли да е грешката? Все си мисля че е по добре по малко на брой заявки...
value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[VaporStore.Data.Models.Purchase])) has already been associated with an expression.
Не си правиш проверките правилно вече си направил така 2ка ключове, това дали подаваш само фк или цялото ентити няма значение... Но при проверките нещо бъркаш.
ако примерно имаш :
Пешо - москвич
Пешо - опел
и опиташ пак да добавиш Пешо- Москвич изгаряш и ef ти казва точно това с тая грешка
Това добре ама аз тази грешка я получавам на задача в която сериализирам тоест вадя от базата данни.
Това която си ми написал предполагам е пример с мапинг таблица с композитен ключ как гърми при дублиране... Това можеше и да е проблема ако аз правя импорт не проверявам нещата да са Unique и джъдж ми дава тази грешка ама в моя случай аз правя експорт и джъдж казва не мога да вкарам дублиращи данни... малко не е много смислено май.
значи,не правиш правилно ваденето, без код не мога да коментирам, това вече не са простите задачи тук има много движещи се неща и без код мога само да гадая какво се случва. Но за да гърми има някаква грешка в кода.
Еми дал съм код ето го пак