문제

.NET Entity 프레임 워크를 사용하고 있으며 Varbinary가 포함 된 하나의 엔티티가 있습니다. CodeBehind에서 Varbinary의 크기를 얻을 수있는 쉬운 방법이 있습니까? Efter는 데이터베이스에서 검색되었습니다.

Entity.context.size와 같은 엔티티에서 직접 크기를 얻을 수있는 방법이 있다고 생각합니다. 아니면 다르게 처리해야합니까?

도움이 되었습니까?

해결책

varbinary a로 번역됩니다 byte[] 엔티티 프레임 워크의 필드, 즉 길이 배열의 속성 :

int fieldSize = entity.MyVarBinaryField.Length;

언급했듯이 테스터: LINQ에서 엔티티 쿼리에서 데이터 길이 방법의 방법 sqlfactions 클래스, 이것은 a로 번역됩니다 데이터 길이 생성 된 SQL 문의 함수 호출. 이것은 SQL Server 및 Entity Framework 4 이상에서만 작동합니다.

int? fieldSize = repository.Entity
  .Select(e => SqlFunctions.DataLength(e.MyVarBinaryField)).Single();

다른 팁

이 질문이 오래되었음을 알고 있지만 EF는 이제 사용하여 이것을 뒷받침합니다. SqlFunctions.DataLength()

다른 쿼리를 실행하여 셀의 데이터 길이 ()를 얻음으로써 해결했습니다. 가장 부드러운 방법은 아니지만 작동합니다.

그래도 누군가가 이것에 대한 답을 생각해 낼 수 있다면 여전히 듣는 데 관심이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top