어떻게 당신은 전송 실행의 식에 의해 만들어 진행하고 있습니다.객체를페?
-
20-08-2019 - |
문제
내 코드고 싶을 저장소를 진행.이 방법,표준에 대한 선택이 될 것입니다 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<>
제휴하지 않습니다 StackOverflow