2013-05-01 3 views
3
나는 다음과 같은 상황이 발생 이유에 당황하고있어

사람 :EntityFramework Linq에 엔티티 비트 필드/부울 문제

시나리오는 (순수 실체없는 파생 버전) Stcoxrefs 내에서 두 개의 비트 필드가 있다는 것입니다.

사용하여 다음 INT, CHAR, VARCHAR 필드는 정확하지만 linqpad에서 쿼리를 실행하면 제대로 작동하지만 비트 필드는 관계없이 DB에 무엇인지 항상 false입니다

public List<Stcoxref> GetAllowedStockholderTransferOrganisations(int currentStockHolder) 
{ 
    return (from s in Entities.Stcoxrefs 
      where s.OrganisationId == currentStockHolder 
      orderby s.CompanyName2 
      select s).ToList(); 
} 

테이블 매핑은 다음과 같이 올바른지 확인하십시오 ...

모든 필드가 올바른지, 비트 필드는 더 이상 항상 거짓이 아니며 DB의 데이터에 따라 설정됩니다.

public List<Stcoxref> GetAllowedStockholderTransferOrganisations(int currentStockHolder) 
{ 

    List<Stcoxref> test1 = (from s in Entities.Stcoxrefs 
          where s.OrganisationId == currentStockHolder 
          orderby s.CompanyName2 
          select s).ToList(); 

    return test1; 
} 

huh?!?!?!?

EDIT :

STCOXREF_NO : int   -> StcoxrefNo : Int32 
ROLE_CODE : char   -> RoleCode : String 
ORG_ID : int    -> OrganisationId : Int32 
ROLE_CODE2 : char   -> RoleCode2 : String 
ORG_ID2 : int    -> OrganisationId2 : Int32 
COMPANY_NAME2 : varchar  -> CompanyName2 : String 
INACTIVE : bit    -> InActive : Boolean 
SUPRESS_EMAIL : bit   -> SuppressEmail : Boolean 

비활성 및 SuppressEmail 전시 이상한 행동 모두를 : Stcoxref는 EntityType이며, 여기서 검증 매핑 테이블이다.

+0

내 말은, stcoxrefs 객체를 볼 수 있습니까? – Jonesopolis

+0

나는 믿을 수 없다. 만약 코드 변경이 exta list 변수라면, 그것은 부울 필드의 올 바르고 잘못된 로딩을 야기 할 것이다. –

+0

매핑이 내게 맞아 보이는 – Jonesopolis

답변

0

답으로 답을 넣는 것뿐 아니라이 질문에 대한 답이 나오지 않는 질문이 여기에 추가되지 않습니다.

감사합니다. 도움을 주셔서 감사합니다. 추가 테스트를 통해 이전 개발자가 컨텍스트를 공유 한 것으로 보입니다! Grrr ...

작업 단위 내에서 기능을 수행하므로 예상대로 작동합니다. 공유 된 컨텍스트는 일관되게 비트 필드를 엉망으로 만들어야합니다.

심지어 낯선 사람이 일을하는 변수의 동작 이었습니까?!

관련 문제