을 쓸 수 있습니다 String.Format 호출은 실패 할 가능성이 높습니다. 공급자와 마찬가지로 select 절이 데이터베이스 내에서 실행됩니다. C#에서 SQL로 모든 것을 변환 할 수있는 것은 아닙니다.
var temp = (
from d in context.dates
from s in context.Seasons
where s.SeasonID == d.DateID
select new { s.StartYear, s.EndYear }
).ToList(); // Execute query against database now, before converting date parts to a string
var temp2 =
from t in temp
select new DateRange
{
DateString = t.StartYear + " - " + t.EndYear
};
List<DateRange> collection = temp2.ToList();
편집
: 내가 추가 생각을했다 당신은 다음과 같은 일을해야 할 같은
는 문자열로 데이터베이스 결과를 변환합니다. String.Format 호출이 문제 일 가능성이 큽니다. 그것은 일반 제인 CONCAT 대해 어떻게 작동 여부 만한다면 나는 확실하지 않다 :
StringConvert 방법은 LINQ 문이 실행을 위해 SQL로 변환되어 적절한 변환 기능으로 변환됩니다
List<DateRange> collection =
(from d in context.dates
select new DateRange
{
DateString = from s in context.Seasons
where s.SeasonID = d.DateID
select s.StartYear + " - " + s.EndYear
}
).ToList<DateRange>();
LINQ-to-SQL을 사용하고 있습니까? – SLaks
코드가 제대로 작동해야합니다. 오류가 있습니까? – SLaks
LINQ to SQL 또는 LINQ to Entities 중 하나를 사용한다고 가정하는 것이 안전합니까? context.dates와 context.Seasons를 알았습니다. 컨텍스트가 무엇인지는 모르겠지만 데이터베이스 컨텍스트이면 ... LINQ의 모든 기능을 사용할 수 없다는 것을 의미합니다. IQueryable 인터페이스의 전부는 아니지만 대부분을 포함합니다. –
jrista