어떻게 당신은 전송 실행의 식에 의해 만들어 진행하고 있습니다.객체를페?

StackOverflow https://stackoverflow.com/questions/503208

문제

내 코드고 싶을 저장소를 진행.이 방법,표준에 대한 선택이 될 것입니다 linq 식 나무입니다.

지금 내가 원하는 경우 모 저장소 내에서 theorie 이것은 매우 쉽습니다:막 인터페이스를 구현하의 저장소에(도 진행 object).

내 모의 저장소 구현할 수 있다는 점에서 메모리 컬렉션,하지만 나의 질문은:당신이 알고 있는 쉬운 방법을 구현하는 진행 인터페이스의 모형,전송 쿼리를 내에서 메모리 컬렉션(페)?

감사에 대한 응답,

몇 가지 정밀도

클라이언트의 객체를 저장소 내용 내 이 방법으로 저장소:

=var 결과에서 항목에서 MyRepository 는 항목입니다.제품=="SomeProduct"항목을 선택;

무엇 ToList 또는 AsEnumerable 는 쿼리를 실행하고 결과를 반환합으로 목록으로페.하지만 내가를 구현하는 진행 인터페이스에 저장소와 IQueryProvider 는 변환 표현에서 호출페 개체입니다.

솔루션

의 구현 솔루션을 위임하는 전화를 진행하고 나의 메모리 컬렉션 AsQueryable.

public class MockRepository : IQueryable<DomainObject>
    {
        private List<DomainObject> inMemoryList = new List<DomainObject>();

        #region IEnumerable<DomainObject> Members

        public IEnumerator<DomainObject> GetEnumerator()
        {
            return inMemoryList.GetEnumerator();
        }

        #endregion

        #region IEnumerable Members

        IEnumerator IEnumerable.GetEnumerator()
        {
            return inMemoryList.GetEnumerator();
        }

        #endregion

        #region IQueryable Members

        public Type ElementType
        {
            get
            {
                return inMemoryList.AsQueryable().ElementType;
            }
        }

        public Expression Expression
        {
            get
            {
                return inMemoryList.AsQueryable().Expression;
            }
        }

        public IQueryProvider Provider
        {
            get
            {
                return inMemoryList.AsQueryable().Provider;
            }
        }

        #endregion
    }
도움이 되었습니까?

해결책

AsQueryable 에 mock.이제 그들은 가능하고 당신은 그들을 치료할 수 있 다음과 같은 다른 어떤 가능.

다른 팁

확장 방법을 사용할 수 있습니까?

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