2016-06-22 2 views
0

ASP.Net MVC 및 AngularJS를 사용하여 응용 프로그램을 개발 중입니다. 나는 linq에 익숙하지 않고 솔직히 나는 그것을 좋아하지 않는다. 하지만 SQL에 익숙하여 복잡한 쿼리를 수행 할 수 있습니다. 그래서, 내 질문은, 당신이 내 MVC 컨트롤러에서 아래의 코드를보고 싶지 :Linq 대신 SQL을 사용하여 데이터베이스 쿼리 및 Json 반환

public JsonResult GetSupervisor() 
    { 
     var db = new scaleDBEntities(); 
     return this.Json((from userObj in db.Users 
          select new 
          { 
           supervisorId = userObj.Id, 
           supervisorfName = userObj.usrFirstName, 
           supervisorlName = userObj.usrLastName,         
          }) 
          , JsonRequestBehavior.AllowGet 
         ); 
    } 

가 어떻게 SQL 쿼리에 링크 쿼리를 변경할 수 있습니까?

는 내가 같은 것을 할 수 있다고 생각 :이 맞다면

var blogNames = db.Database.SqlQuery<string>("SELECT Name FROM dbo.Blogs").ToList(); 

그래서, 내가 어떻게 내 각에 대한 내 반환 this.Json()에서에서 사용할 수 있습니까? 제공된 예제를 사용

+1

왜 LINQ를 좋아하니? – Maccurt

+0

나는 그것을 좋아하지 않았다. 나는 그것에 익숙하지 않다. 나는 SQL을 선호한다. 내 응용 프로그램에서 사용하고 있지만 SQL 함께 수행 할 수 있지만 linq 함께 할 수있는 매우 복잡한 쿼리가 있습니다. –

+1

누군가이 질문에 대해 왜 투표를했는지 이해할 수 없습니까? 이것이 당신 (유권자)에게 중요하지 않다면, 나에게 달려있다 !! –

답변

1

,이 같은 작업을해야합니다 :

{ 
    "blogNames": ["blog one", "blog two"] 
} 
:

return this.Json(new {blogNames}); 

당신은 단지 JSON 시리얼 라이저는이 같은 객체를 생성하는 데 사용할 수있는 익명 형식의 개체를 만들

더 복잡한 쿼리에서 더 복잡한 결과를 생성하려는 경우 더 복잡해집니다. 그러나 ORM이 그게 바로 그 것입니다. 저는 Gert Arnold가 LINQ를 사용하는 조언을 들려주고 싶습니다. LINQ에 익숙하지 않기 때문에 LINQ를 좋아하지 않는다고 결정하는 것보다는 LINQ를 사용하는 것이 좋습니다.

+0

고맙습니다. 매우 도움이되었습니다. –