webForumDet fria alternativet

Entity Framework (lazy loading eller hämta färskt?)

.NET

28 svar · 1 469 visningar · startad av CatZ · sida 2 av 2

Frågan, av CatZ

Jag har en lista med entiteter, det i sig är ju inga problem :P min fundering är bara om det blir bäst att plocka ut den entiteten som är vald och lazy loada eller om jag lika gärna kan hämta en ny lista med under-entiteter? för min del spelar det ingen roll, men det som är "snyggast" är ju roligast :)

Läs frågan i sin helhet →
Medlem sedan juni 20008 205 inlägg
#21

CatZ skrev:

Ja det skulle väl underlätta förståss, rekommendationer? Ants?

Har bara kört http://www.jetbrains.com/profiler/ för egen del, och den tycker jag är bra.

Medlem sedan aug. 20003 575 inlägg
#22

CatZ skrev:

Jag testade precis att ta bort min modell och lägga till den. Nu gick det hur snabbt som helst att databinda igen. Tyvärr tog jag bort varannan radfärg och lite också.

Min modell var korrupt och felaktig och egentligen skulle jag inte ha kunnat köra programmet alls. Ramverket har nog haft något cache:at någonstans.

Jag hade lite problem med modellen igår. Eller jag hade problem med subversion! Chefen kom in helt apropå och tyckte vi skulle ha två kolumner till i databasen och svn vägrade låta mig ta bort och lägga till modellen. Nu verkar det som om det fungerar i alla fall. Ska testa att sätta tillbaka autosize och annat nu.

Något som är prestandakrävande är ju exceptions, höll du någon koll i outputfönstret för att kolla efter exceptions som skedde i bakgrunden?

Medlem sedan jan. 20022 440 inlägg
#23

Njae, jag tänkte faktiskt inte på att kolla output fönstret. Ska kolla det nästa gång. Jag fångar inga exceptions men jag vet att clr'en tar hand om en del interna problem utan att visa mig. Har man någon nytta av JIT'en i det läget eller ska man stänga av den?

Medlem sedan aug. 20003 575 inlägg
#24

Om CLR:en tar hand om fel så bör man fixa till dom felen, det skadar prestandan och korrektheten i programmet.

Medlem sedan jan. 20022 440 inlägg
#25

Absolut, har bara inte tänkt på att kolla efter fel i output fönstret. Ska ställa in builden på diagnostic också, kanske kan få lite ledtrådar där. Nu verkar det ju fungera igen för tillfället :) Bra att komma ihåg det där för framtida bruk! (y)

Medlem sedan jan. 20022 440 inlägg
#26

Det är helt enkelt så att det tar väldigt lång tid att bind DataBound items om min collection är för stor.

Hur ska man göra för att det ska bli bra igen? :)

Jag har några olika alternativ:

  1. Jag kan döpa om mina entiteter så att de får namn på svenska.

  2. Jag kan skapa alla kolumner manuellt och ge dom "Name" istället och försöka binda mot det (får inte riktigt ihop virtual mode)

  3. Jag kan skapa en ny klass på mina entiteter och köra en

    var query = from r in this.context.SortRowData
    			where r.SortTables.ID == sortTableID
    			orderby r.SortRowNr ascending
    			select new SortRowData 
    			{
    				SortRowNr = r.SortRowNr,
    				Active = r.Active,
    				AdminThemeID = r.AdminThemeID,
    				Length_Nom = r.Length_Nom,
    				Quality = r.Quality,
    				Width_Act = r.Width_Act,
    				Width_Nom = r.Width_Nom,
    				SortGroup = r.SortGroup,
    				SurveillanceRowID = r.SurveillanceRowID,
    				Thickness_Act = r.Thickness_Act,
    				Thickness_Nom = r.Thickness_Nom,
    				Register = r.Register,
    				Trays = r.Trays,
    				Max_Pieces = r.Max_Pieces,
    				Cut_Type = r.Cut_Type,
    				Value = r.Value,
    				DoublePackage = r.DoublePackage,
    				Mark = r.Mark,
    				Margin = r.Margin,
    				Dynagrade_Class = r.Dynagrade_Class,
    				Dynagrade_Mark1 = r.Dynagrade_Mark1,
    				Dynagrade_Mark2 = r.Dynagrade_Mark2,
    				ID = r.ID,
    			};
    return query.ToList();
    

    Då måste jag manuellt skapa en klass med de fälten som jag behöver, loopa igenom alla raderna och tilldela värden. (Det borde väl inte vara alltför krävande men jag kommer få skriva om mina metoder för att persistera datan)

  4. Övriga förslag mottages tacksamt!!!

Medlem sedan jan. 20022 440 inlägg
#27

Kan ju lägga till att det inte var EntityFramework som var problemet. Nu laddar jag 11,000 rader på 0,3 sekunder.

Medlem sedan maj 20012 812 inlägg
#28

CatZ skrev:

Kan ju lägga till att det inte var EntityFramework som var problemet. Nu laddar jag 11,000 rader på 0,3 sekunder.

Berätta för oss vilken tabbe du gjorde då :e. Så vi andra slipper och göra samma ;)

- M

Medlem sedan jan. 20022 440 inlägg
#29

Om jag säger såhär.... Istället för att köra template på varje rad och cell så räcker det med varje kolumn :P

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)