23. oktober 2008 - 14:30Der 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();
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?)
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?)
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]'.
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.
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; }
Synes godt om
Ny brugerNybegynder
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.