하지만이 작동되지 수있는 힌트는 apreciated된다EF Linq 결과를 IEnumerable에 투영하는 방법 <IBook> Book이 명시 적으로 IBook에서 구현하는 항목은 무엇입니까? 아래에, simialr 뭔가를 인터페이스는 IEnumerable로 EF의 LINQ 결과를 프로젝트에 노력
IEnumerable<IBook> books = (from b in context.Library
(select new (Book() as IBook)
{
Id = b.Id,
Title = b.Title
}).AsEnumerable<IBook>;
오류 :이 때문에 문자열을 입력하는 람다 식을 변환 할 수 없습니다 형식을 위임하지 않습니다.
PS : 그것은 명시 적 인터페이스 구현 그래서 난 그냥 암시 적 인터페이스 구현과 함께 작동 다음 사용할 수 있습니다 : 시도
IEnumerable<IBooks> books = (from b in context.Library
select new Book()
{
Id = b.Id,
Title = b.Title
}).AsEnumerable<IBook>();
Id 및 Title 속성이 명시 적으로 구현되었지만 컴파일러는 ID가없는 책 또는 제목이 정의되지 않은 것에 대해 불평했습니다. 인터페이스를 암시 적으로 구현했습니다. 명시 적으로 – Arjang
위의 편집을 참조하십시오. 실용적인 명시 적 인터페이스가 얼마나 확실하지 않습니다. 나는 그들로부터 멀리 떨어져 경향이있다. 왜냐하면'new Book {Id = b.Id} '와 같은 멋진 객체 이니셜 라이저를 사용할 수 없기 때문이다. – jonathanpeppers