Avatar billede websam Nybegynder
30. juni 2010 - 11:15 Der er 1 løsning

Linq "select new Menu" driller lidt

Hejsa,

Jeg har et simpelt object :

public class Menu
{
    public int ItemId { get; set; }
    public int ParentId { get; set; }
    public string Name { get; set; }
    public string Link { get; set; }
    public IEnumerable<Menu> Childs { get; set; }
    public Menuicon Icon { get; set; }

    public Menu()
    {
        ItemId = 0;
        ParentId = 0;
        Name = "";
        Link = "";
        Childs = null;
        Icon = null;
    }
}

Som jeg bruger til visning af en stifinder-agtig menu. En typisk linq metode til load af data ser således ud :

var roles = (from r in base.All<Role>()
            where r.RoleId >= 1
            select new Menu
            {
                ItemId = r.RoleId,
                ParentId = r.RoleId,
                Name = r.Rolename,
                Link = "/Role/Edit/" + r.RoleId.ToString(),
                Childs = null,
                Icon = null
            }).ToList();

Men når jeg gør dette brokker den sig over at :

    Input string was not in a correct format.

Hvilket er min ParentId. Fjerner jeg denne loader den fint, men vil det sige at mit object Role skal være identisk med mit object Menu for at dette vil virke ? For så er der jo ingen idé med at kunne caste til et andet object.

/Martin
Avatar billede websam Nybegynder
29. november 2010 - 14:34 #1
Byttede rundt på ItemId og ParentId så virkede det ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester