Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Post <-> PostTag <-> Tag
- PostID Title
- 1, 'Foo'
- 2, 'Bar'
- 3, 'Baz'
- TagID Name
- 1, 'Foo'
- 2, 'Bar'
- PostID TagID
- 1 1
- 1 2
- 2 2
- public IList<Post> GetPosts(int page, int record)
- {
- var options = new DataLoadOptions();
- options.LoadWith<Post>(p => p.PostTags);
- options.LoadWith<PostTag>(pt => pt.Tag);
- using (var db = new DatabaseDataContext(m_connectionString))
- {
- var publishDateGmt = (from p in db.Posts
- where p.Status != PostStatus.Hidden
- orderby p.PublishDateGmt descending
- select p.PublishDateGmt)
- .Skip(page * record)
- .Take(record)
- .ToList()
- .Last();
- db.LoadOptions = options;
- return (from p in db.Posts
- where p.Status != PostStatus.Closed
- && p.PublishDateGmt >= publishDateGmt
- orderby p.PublishDateGmt descending
- select p)
- .Skip(page * record)
- .ToList();
- }
- }
- DataLoadOptions o = new DataLoadOptions ( );
- o.LoadWith<Listing> ( l => l.ListingStaffs );
- o.LoadWith<ListingStaff> ( ls => ls.MerchantStaff );
- ctx.LoadOptions = o;
- IQueryable<Listing> listings = (from a in ctx.Listings
- where a.IsActive == false
- select a);
- List<Listing> list = listings.ToList ( );
- SELECT [t0].*, [t1].*, [t2].*, (
- SELECT COUNT(*)
- FROM [dbo].[LStaff] AS [t3]
- INNER JOIN [dbo].[MStaff] AS [t4] ON [t4].[MStaffId] = [t3].[MStaffId]
- WHERE [t3].[ListingId] = [t0].[ListingId]
- ) AS [value]
- FROM [dbo].[Listing] AS [t0]
- LEFT OUTER JOIN ([dbo].[LStaff] AS [t1]
- INNER JOIN [dbo].[MStaff] AS [t2] ON [t2].[MStaffId] = [t1].[MStaffId]) ON
- [t1].[LId] = [t0].[LId] WHERE NOT ([t0].[IsActive] = 1)
- ORDER BY [t0].[LId], [t1].[LStaffId], [t2].[MStaffId]
- public IList<Post> GetPosts(int page, int records)
- {
- var options = new DataLoadOptions();
- options.LoadWith<Post>(p => p.PostTags);
- options.LoadWith<PostTag>(pt => pt.Tag);
- using (var db = new BlogDataContext())
- {
- db.LoadOptions = options;
- return (from p in db.Posts
- where p.Status != PostStatus.Closed
- orderby p.PublishDateGmt descending
- select p)
- .Skip(page * records)
- //.Take(records)
- .ToList();
- }
- }
- DataLoadOptions options = new DataLoadOptions();
- options.LoadWith<Post>(p => p.PostTag);
- options.LoadWith<PostTag>(pt => pt.Tag);
- var options = new DataLoadOptions();
- options.LoadWith<Post>(p => p.PostTags);
- options.LoadWith<PostTag>(pt => pt.Tag);
- using (var db = new BlogDataContext())
- {
- db.LoadOptions = options;
- return (from p in db.Posts
- where p.Status != PostStatus.Closed
- orderby p.PublishDateGmt descending
- select p);
- }
- var q = from p in db.Posts
- where db.Posts.Take(10).Contains(p)
- select p;
- SELECT p.PostID, p.Title, pt.PostID, pt.TagID, t.TagID, t.Name FROM Posts p
- JOIN PostsTags pt ON p.PostID = pt.PostID
- JOIN Tags t ON pt.TagID = t.TagID
- WHERE p.PostID IN (SELECT TOP 10 PostID FROM Posts)
Add Comment
Please, Sign In to add comment