2010-11-23 3 views
-1
string NewsFillter = string.Empty; 
      List<string> PublishDatePostMeta = (from post in postrepository.GetAllPosts() 
           join pstmt in postrepository.GetAllPostMetas() 
           on post.int_PostId equals pstmt.int_PostId 
           where (post.int_PostTypeId == 4 && post.int_PostStatusId == 2 && post.int_OrganizationId == layoutrep.GetSidebarDetailById(SidebarDetailsId).int_OrganizationId) && pstmt.vcr_MetaKey=="Publish Date" 
           select pstmt.vcr_MetaValue).ToList(); 
      int DatesCount = PublishDatePostMeta.Count();   
      foreach (string PublishDate in PublishDatePostMeta) 
      { 
       if (PublishDate != "") 
       { 
        NewsFillter += System.DateTime.Now + ">=" + Convert.ToDateTime(PublishDate); 
       } 
      }        

      var postsidebar = from post in postrepository.GetAllPosts() 
           join pstmt in postrepository.GetAllPostMetas() 
           on post.int_PostId equals pstmt.int_PostId 
           where (post.int_PostTypeId == 4 && post.int_PostStatusId == 2 && post.int_OrganizationId == layoutrep.GetSidebarDetailById(SidebarDetailsId).int_OrganizationId) 
           && (pstmt.vcr_MetaKey.Contains(filter) && pstmt.vcr_MetaValue.Contains("true")) 
           select post; 

첫번째 질문 국지적 인 일이 NewsFillter가 true (내가 포함에 넣어 것입니다 후 pstmt 객체의 postsidebar 쿼리에 accomdated 될 방법, 가입 또는 무엇에 해당한다는 것입니다).asp.net MVC의 LINQ의 날짜 문제

두 번째 질문입니다. 거기에 청크 (& & 사이)가 열거 할 수있는 어떤 방식 으로든 나는 이걸 가지고 도망 갈 수 있습니다. 이 순간이

답변

1

내가 제대로을 udnerstood하지 않은 것을 허용하지만, 여러 필터를 적용하려면, 여기 내 솔루션되지 않습니다

//Book is a table in the database 
List<Expression<Func<Book, bool>>> filters = new List<Expression<Func<Book, bool>>>(); 
IQueryable<Book> query = dc.Books; 

filters.Add(b => b.BookId == long.Parse(id)); 
//apply all filters 
foreach (var f in filters) 
    query = query.Where(f); 

질문 :

  1. 이 질문에는 입력과 출력의 예가 필요합니다. 이런 식으로 뭔가를 시도해보십시오 방법 AsEnumerable있다

    || pstmt.vcr_MetaKey=="Publish Date" && ( pstmt.vcr_MetaValue == "" || DateTime.Parse(pstmt.vcr_MetaValue) < DateTime.Now)

  2. , 당신은 내가 무슨 생각을 의미합니다.

+0

당신이 가까이있는 나는 그 쿼리에 모든 결과에 기초한 연결 결과가 있다고 가정하고 있습니까? – maztt

+0

괜찮 았어 두 번째로 할 수있는 필드를 독립적 인 변수를 필터 내 사건 bookId 열이 아닌 열이 될 것인가? 그게 진짜 문제 야. – maztt

+0

스킵과 테이크 조합을 제외하고는 "열 필터가 아닌"것이 있다고 생각하지 않는다. 필드 독립적 필터는 문자열 쿼리를 사용하여 구현할 수 있습니다 (예 : Entity Framework). dc.SomeTable.Where ("it. ["+ columnName + "] = '"+ columnValue + "'"); – vorrtex