24. marts 2009 - 07:47Der er
4 kommentarer og 1 løsning
Linq, udtræk af DTO, minus Articler
Jeg er ved at sættte mig ind i linq, og der er jo ingen bedre måde at gøre det på, end at bruge det. Hvilken har vist sig at give mig et lille problem.
Jeg har nogle Articler, som kan vises på en Page. Man kan ikke have samme article på samme page to gange.
Så, jeg har i min Article Table:
* Article 1, 2, 3, 4, 5 og 6
Og lige så i min PageArticle Table har jeg
* Page 1 som har en dif til Article: 1, 2, 3 og 4
I min Page table
* Page 1
Jeg skal nu lave et udtræk hvor jeg trækker på tværs af disse tabler, da jeg skal bruge nogle ID og titler, samt have fra trukket Article 5 og 6.
Jeg har haft success med at dele linq sætning i to dele, og dermed får jeg mit result. Men det kan da ikke være rigtig at man ikke kan lave det i en sætning ?
Her er min method:
public IQueryable<Data.DTO.PageArticleListDTO> ArticleListNotAttached(Guid pageGuid) { var article_list = (from a in db.Articles select a).Except<Data.Repositoryes.MSSQL.Article>(
from p in db.Pages from a in db.Articles from pa in db.PageArticles
// pass the articles into a dto var result_list = (from a in article_list from pa in db.PageArticles orderby pa.IndexNo select new Data.DTO.PageArticleListDTO {
//Get the current page guid PageGuid = pageGuid, ArticleGuid = a.ArticleGuid, ArticleHeadLine = a.HeadLine, ArticleIndexNo = pa.IndexNo
}).Distinct<Data.DTO.PageArticleListDTO>();
return result_list;
}
Hvis i skal bruge table metadata så bare skrev det. Og hvis i er i triv om noget så skrev.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Men jeg ville nok lige kontrollere det med en SQL profiler at der ikke bliver lavet noget slam sql kode hvis du også har lidt Performance i tankerne :-)
Men lyder mere til at det bare er test og små prøver ...
men husk ... stol aldrig på linq to sql ... det kan lave det værste lorte sql :-)
og et svar
// ouT
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.