2012-05-02 2 views
0

다음과 같은 문제가 있습니다. With 또는 WithMany 명령 을 사용하여 외부 조인을 통해 비즈니스 관계의 연결된 역할 목록을 검색하려고합니다. 참조 무결성이 데이터베이스에 있지만 역할 테이블의 기본 키가 복합 키입니다. 그것은 예외가 발생하기 때문에 OuterJoin 절을 사용하는 이유는 입니다.SimpleList 또는 SimpleRecord가 비어 있는지 확인하는 방법

쿼리가 실행되면 예상 한 결과와 정확하게 일치하고 데이터로 멋지게 채워집니다. 그럼에도 불구하고 데이터베이스에서 아직 사용 가능한 역할이없는 경우가 있습니다. 그래서 이 반환되는 SimpleList (아래의 역할)가 null이 될 것으로 예상됩니다. 사용 가능한 데이터가 없기 때문입니다. 대신 Simple.Data는 에서는 SimpleList 반환하고 내가 디버그에서 동적보기를 확장하면 그것은 '빈 말한다 :이 객체에 대한 더 이상의 정보는 "발견 할 수 없었다 내가 더 아래로 통과해도 나는이의 첫 번째 객체를 검색 할 수 있습니다. 에서는 SimpleList는, 심지어는 디버그에 위와 같은 정보 와 SimpleRecord을 반환합니다. 내가 레코드가 다음 반환 널 (null) 때문에 비어있는 몇 가지 정보를 얻을 SimpleRecord 의 속성을 요청 후에 만.

것은 올 하단 라인에 ...에서는 SimpleList 또는 SimpleRecord이 TRA없이 비어 있거나 null의 경우 나에게 어떻게 검사를 말할 수있는 사람이있다 계층 구조를 능가 해? 내가 Simple.Data 0.16.1.0을 사용하고

아래

코드는 ... 전체 이야기를 읽고 미리

감사합니다 (인해 정책에 난 아직 베타를 사용할 수 없습니다) 샘플 :

dynamic businessRelationRoles; 

var query = db.Zakenrelaties.As("BusinessRelations") 
    .All() 
    .OuterJoin(db.Zakenrelaties_Rollen.As("Roles"), out businessRelationRoles) 
    .On(zr_ID: db.Zakenrelaties.zr_ID) 
    .With(businessRelationRoles); 

foreach (var relation in query) 
{ 
    //Get the SimpleList as IEnumerable 
    IEnumerable<dynamic> roles = relation.Roles; 

    //Get the first available SimpleRecord 
    var role = roles.First(); 

    //Check if any record was returned..This passes always?? Even if the SimpleList was empty 
    if (role != null) 
    { 
     //Get the id of the role. returns null if SimpleRecord was empty 
     var roleId = role.zrro_id; 
    } 
} 

나를 도울 수 사람이 있습니까?

답변

2

는 뒤늦게 및 정보 목적으로 만이 버그이었고, 0.17 (일명 1.0 RC0) 릴리스에서 수정되었다.

+0

안녕하세요 마크, 어쨌든 정보/답변을 주셔서 감사합니다. –

관련 문제