0
, 내가 저장 LINQ 쿼리 결과에 내 컨트롤러에 변수가 :MVC LINQ 된 IQueryable 익명 형식 처리
var test= from m in db.testTable
join n in db.testTable2
on m.ID equals n.ID into tabA
from a in tabA
join o in db.testTable3
on m.UserID equals o.ID
select new { .................};
if (test.Count() > 0)
{
foreach (var k in test)
{
ViewData["dropDown_xxx"] = test.Select(j => new { Value = j.ID, Text = j.Description})
.AsEnumerable()
.Select(j => new SelectListItem // Work with in-memory objects using LINQ to Objects instead of LINQ to Entities
{
Value = j.Value.ToString(),
Text = j.Text
}).ToList();
}
위의 작품을 완벽하게 내가 할 수 드롭 다운리스트와을 ViewData를 생성 할 수 있습니다.
가 지금은 아래 그림과 같이 대신이 컨트롤러에 퍼팅의 다른 클래스에이 LINQ 쿼리를 이동하기 위해 노력하고있어 지금
public class testClass{
public IQueryable<dynamic> TestMethod(){
return from m in db.testTable
join n in db.testTable2
on m.ID equals n.ID into tabA
from a in tabA
join o in db.testTable3
on m.UserID equals o.ID
select new { .................};
}
}
을 그리고 내 이전 컨트롤러에 전화 :
var test= new testClass().TestMethod();
if (test.Count() > 0)
{
foreach (var k in test)
{
ViewData["dropDown_xxx"] = test.Select(j => new { Value = **j.ID**, Text = **j.Description**})
.AsEnumerable()
.Select(j => new SelectListItem // Work with in-memory objects using LINQ to Objects instead of LINQ to Entities
{
Value = j.Value.ToString(),
Text = j.Text
}).ToList();
}
수 있습니다 나는 코드에 무슨 문제가 있는지 알아? J.ID 및 J.Description에서 지금 식 트리 만 TestMethod
의 범위 내에서 여기에 역동적 인 동작을 동적 유형을
다른 더 좋은 방법은 새로운 클래스를 만드는 대신이 있습니까? 나는 새로운 클래스를 만드는 것 이외의 해결 방법이있는 경우 "동적"을 사용하도록 할 수있다. –
언어가 명확하게 지정되지 않았기 때문에 나쁘다. 이것은 실제로 MVC이므로 공유 한 링크에 표시된대로 사용할 수있는 CAST 메소드가 없습니다. 당신의 도움을 주셔서 감사합니다. –