2016-07-27 1 views
0

LINQ 쿼리를 사용하여 데이터를 추출하고 모델 목록에 추가하려고합니다.이 목록에서는 일부 필드 값만 필요하지만 모든 테이블 필드는 null 값과 함께 반환됩니다. 모든 모델 클래스가 모든 테이블 필드 이름을 가진 set 메소드를 생성하여 데이터를 가져올 때 일부 필드를 제거하고자하므로 모델 사용 우선 접근법을 사용하고 있습니까?C#의 모델 목록에서 null 값 요소를 제거하는 방법은 무엇입니까?

이 내 코드

for (var z = 0; z < room_ament_list.Count(); z++)  
{ 
    var deal_room_amentity_id = room_ament_list[z]; 
    var deal_room_amentity_details = db.deal_room_amentity.Where(a => a.room_amenity_id == deal_room_amentity_id).ToList(); 

    foreach (var item_r_amentity in deal_room_amentity_details) 
    { 
     deal_room_amentity_list.Add(new deal_room_amentity() 
     { 
      room_amenity_id = item_r_amentity.room_amenity_id, 
      amenity_type = item_r_amentity.amenity_type, 
     }); 
    } 
} 

이 내 테이블 구조

table structure in my database

그리고 이것은 그 목록

returning data from the list

에서 데이터를 반환하지만 난을 추출 할 필요가 wh의 데이터 목록에서 null 요소없이 할당했습니다. 목록에서 해당 null 값 요소를 제거 할 수 있습니까 ?? 내가 제대로 질문을 이해하고 경우 다음과 같이

+0

amenity_type == null이 어디입니까? –

+0

목록에서 ImagePath와 ID를 제거하고 싶습니다. 목록에 추가 할 때 값 (room_amenity_id, amenity_type)을 지정할 필요가 있습니다. –

답변

1

, 당신은 당신에게 LINQ 쿼리를 수정할 수 :

var deal_room_amentity_details = db.deal_room_amentity 
    .Where(a => a.room_amenity_id == deal_room_amentity_id 
    && a.room_amenity_id != null).ToList(); 
+0

목록에서 ImagePath와 ID를 제거하고 싶습니다. 값을 할당 한 것만 필요합니다. 목록 (room_amenity_id, amenity_type)에 추가 할 때 –

0

당신은 당신이 당신의 Linq 쿼리에서 개체 정의를 지정하여 SQL 테이블에서 필요한 정보 만 다운로드 할 수 있습니다.

var data = from x in db.deal_room_amentity 
     where 
       x.room_amenity_id == deal_room_amentity_id 
     select new { 
       id = x.id, 
       room_amenity_id = x.room_amenity_id 
     }; 
    foreach(var item_r_amentity in data){ 
     deal_room_amentity_list.Add(new deal_room_amentity() 
      { 
       room_amenity_id = item_r_amentity.room_amenity_id, 
       amenity_type = item_r_amentity.amenity_type, 
      }); 
    } 
+0

답장을 보내 주셔서 감사합니다. 그러나 이것 역시 deal_room_amentity_list에서 ImagePath와 ID를 제거하려는 동일한 결과를 반환합니다. –

+0

위의 구문은 선택하려는 필드에서 작동하며 사용자가 선택한 사용자 정의 엔티티에'data'의 결과를 적용 할 수 있습니다. 'ImagePath'와'id'는 코드에 나타나지 않아도됩니다. – Jace

관련 문제