기본 KVP 데이터를 저장하는 SQL 데이터베이스에 여러 개의 테이블이 있습니다. 그들은 모두 Id (int), Description (varchar (..))의 패턴을가집니다.DBSet을 익명 메서드로 인터페이스에 캐스팅하는 방법 - E.F
모두 MVC 응용 프로그램의 한 단계 또는 다른 단계에서 모두 필요하며 엔티티 클래스 유형을 가져 와서 해당 항목 데이터의 목록을 반환하는 익명 메소드를 만들려고합니다. 나는 너무 많이 쓰고있는 메서드를 확장하지 않고도 데이터베이스의 테이블 수에 관계없이이 메서드를 사용할 수 있기를 원합니다.
예 데이터 :
- ID : 1 설명 : 레드
- ID : 2 설명 : 블루
- ID : 3 설명 : 녹색
ISET 구현 :
public interface ISet
{
int Id { get; set; }
string Description { get; set; }
}
가능한 방법 구현
public static IList<T> BuildSet<T>()
{
using (var db = new somethingEntities())
return db.Set(typeof(T)).Cast<ISet>().Select(c => new { c.Id, c.Description }).ToList();
}
사람이 수행하는 방법을 알고 있나요
Cannot create a DbSet<ISet> from a non-generic DbSet for objects of type 'YourType'.
사용
var data = BuildSet<YourType>();
런타임 오류 이?
감사합니다.