공통 속성을 가진 두 개의 엔터티가 있습니다. 공통 속성을 사용하여 쿼리의 일부를 적용해야합니다. 문제는이 방법을 사용엔터티 프레임 워크 공용 위치
public interface IContract
{
string Name{get;set;}
}
public class Entity1 : IContract
{
public string Name{get;set;}
}
public class Entity2 : IContract
{
public string Name{get;set;}
}
public class Repository
{
public IQueryable<T> Filter<T>(IQueryable<T> query, Request request) where T : IContract
{
return query.Where(x => x.Name== request.Name);
}
public IQueryable<Entity1> GetEntitity1()
{
return Filter(entities.Entity1, new Request { Name = "X" };
}
public IQueryable<Entity2> GetEntitity2()
{
return Filter(entities.Entity2, new Request { Name = "X" };
}
}
이후 .ToList() 내가받을 적용 : 그래서 나는이 작업을 수행하기로 결정 NotSupportedException이 있습니다. LINQ to Entities는 EDM 프리미티브 또는 열거 형을 캐스팅하는 기능 만 지원합니다.
나는 그것을 고칠 방법이 있거나 ObjectQuery의 Where (문자열)을 사용해야합니까?
감사