Avatar billede zantiago Nybegynder
23. oktober 2008 - 14:30 Der er 8 kommentarer og
1 løsning

LINQ til Grid

Hej Eksperter,

Jeg har lavet en class i min App_Code folder: (Orders.cs)
--------------------------------------------------------------------------
public class orders
    {
        public static IEnumerable<tblShopOrders> GetAllOrders()
        {
            ZantiagoDBDataContext db = new ZantiagoDBDataContext();

            var GetOrders = (from o in db.tblShopOrders
                          where o.Site_Id == 28
                          orderby o.ID descending
                          select new { o.Order_date, o.Name, o.Address, o.City, o.Country }).Take(100);
            return GetAllOrders;
        }
    }
--------------------------------------------------------------------------

Og så har jeg en side hvor jeg vil binde ordrene til et grid:
--------------------------------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
    {
        orders MyOrders = new orders();

        RadGrid1.DataSource = MyOrders;
        RadGrid1.DataBind();
    }
--------------------------------------------------------------------------

Hvor er det jeg går galt i byen????? :-)

Jeg får denne fejl:
ompiler Error Message: CS0266: Cannot implicitly convert type 'System.Linq.IQueryable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<tblShopOrders>'. An explicit conversion exists (are you missing a cast?)
Avatar billede hmortensen Nybegynder
23. oktober 2008 - 15:39 #1
return GetAllOrders;
skal nok være
return GetOrders;
Avatar billede zantiago Nybegynder
23. oktober 2008 - 16:08 #2
Yes - flot... :-)

Det er rettet men får stadig fejl:
Line 21:            return GetOrders;

Compiler Error Message: CS0266: Cannot implicitly convert type 'System.Linq.IQueryable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<tblShopOrders>'. An explicit conversion exists (are you missing a cast?)
Avatar billede hmortensen Nybegynder
23. oktober 2008 - 16:28 #3
Hvad hvis du så caster:
return (IEnumerable<tblShopOrders>)GetOrders;
Avatar billede zantiago Nybegynder
23. oktober 2008 - 17:11 #4
Unable to cast object of type 'System.Data.Linq.DataQuery`1[<>f__AnonymousType0`5[System.Nullable`1[System.DateTime],System.String,System.String,System.String,System.String]]' to type 'System.Collections.Generic.IEnumerable`1[tblShopOrders]'.
Avatar billede zantiago Nybegynder
23. oktober 2008 - 17:13 #5
public class orders
    {
        public static IEnumerable<tblShopOrders> GetAllOrders()
        {
            ZantiagoDBDataContext db = new ZantiagoDBDataContext();

            var GetOrders = (from o in db.tblShopOrders
                          where o.Site_Id == 28
                          orderby o.ID descending
                          select new { o.Order_date, o.Name, o.Address, o.City, o.Country }).Take(100);
            return (IEnumerable<tblShopOrders>)GetOrders;
        }
    }
Avatar billede zantiago Nybegynder
23. oktober 2008 - 17:13 #6
protected void Page_Load(object sender, EventArgs e)
    {
        RadGrid1.DataSource = orders.GetAllOrders();
        RadGrid1.DataBind();
    }
Avatar billede zantiago Nybegynder
23. oktober 2008 - 17:14 #7
Bare lige for at skrive hvordan det ser ud nu :-)
Avatar billede hmortensen Nybegynder
23. oktober 2008 - 20:50 #8
Hvordan ser din klasse tblShopOrders ud, for du skal kalde den i din select del og sætte værdierne ind, enten via constructor eller set-bare egenskaber.
Avatar billede zantiago Nybegynder
29. oktober 2008 - 20:08 #9
Denne løste problemet - ved ik lige hvorfor jeg ikke kunne få det til at virke med IEnumerable :-/



public static IQueryable<tblShopOrders> GetAllOrders()
        {
            ZantiagoDBDataContext db = new ZantiagoDBDataContext();

            var GetOrders = (from o in db.tblShopOrders
                          where o.Site_Id == 28
                          orderby o.ID descending
                          select o).Take(100);
            return GetOrders;
        }
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

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