Loading...
Samuil_Dechev avatar Samuil_Dechev 35 Точки

относно MiniORM ChangeTracker Construktor

Здравейте! Ще съм благодарен, ако някой ми поясни каква е разликата  между следните два реда в класа Change Tracker(иде реч за конструктора и за това, че цял един метод ми се струва излишен):

1.         this.allEntities = CloneEntities(entities);

2.            this.allEntities = new List<T>(entities); (защо не по-скоро това?)

 

Въпросът ми е : по втория начин не клонирам ли директно, без рефлек'шън и целия му там метод?

TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки
Best Answer

ако беше само entities щеше да им вземеш state-a които съществува а ако направиш промени няма да имаш с какво да ги сравниш реално cloneentites ти дава началния state върхху които после ако се извършат промени ще можеш да сравняваш дали и къде е имало промяна. Примерно вкарал си  едно employee и в базата то е с фамилия Nakov примерно обаче докато програмата ит върви сменяш фамилията на Ivanov по някаква причина и ако използваш това което ти предлагаш тази промяна ти няма да е хванеш че има разлика. Идеята на целия тоя cloneEntites е да ти вземе началния state като го заредиш от базата и да можеш да проследиш и запазиш после промените. Това ти което предлагаш е просто да си вземеш някакъв списък с тях. но няма как да сравниш началното и крайното състояние когато правиш сравнението в метода по -долу.

2
sukalu88 avatar sukalu88 43 Точки

I will visit your sharing regularly, I hope to cooperate with you. us map

-1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.