2013-12-12 2 views
1

내 컨트롤러 작업 메서드에서 비즈니스 모델 클래스 정적 메서드를 호출하려고하지만 Im failling. 정말 도움이 필요합니다. 감사합니다LINQ to Entities가 'System.String getFullname (System.String, System.String)'메서드를 인식하지 못합니다.

public ActionResult Index() 
{ 

var model = 
          _db.members 
          .Include(m =>m.homeTownCity) 
          .Include(m => m.currentCity) 
          .OrderBy(m => m.fname) 
          .ThenBy(m => m.lname) 
          .Select(m => new MembersListViewModel 
          { 
           homeTown = m.homeTownCity.Name, 
           currentCity = m.currentCity.Name, 

           //Calling a business class static method 
           Name= MemberManagement.getFullname(m.lname,m.fname), 
           spoken = m.spoken, 
           hasPosted = m.posts.Count() 
          }); 


      return View(model); 
} 

public class MemberManagement 
{ 
     public static string getFullname(string fname,string lname) { 

      string fullname = fname + " " + lname; 
      return fullname; 
     } 
} 
+0

적어도 1,000 다른 질문 – sloth

답변

2

이것은 정적 메서드를 SQL로 변환하고 엔터티 프레임 워크에서 실행할 수 없기 때문입니다.

먼저 멤버를 목록으로 가져온 다음 SQL 수준이 아닌 서버에서 실행하므로 선택을 수행하십시오.

var members = 
          _db.members 
          .Include(m =>m.homeTownCity) 
          .Include(m => m.currentCity) 
          .OrderBy(m => m.fname) 
          .ThenBy(m => m.lname).ToList(); 


var model = members.Select(m => new MembersListViewModel 
          { 
           homeTown = m.homeTownCity.Name, 
           currentCity = m.currentCity.Name, 

           //Calling a business class static method 
           Name= MemberManagement.getFullname(m.lname,m.fname), 
           spoken = m.spoken, 
           hasPosted = m.posts.Count() 
          }).ToList(); 
+0

내게 너무 많은 도움이 귀하의 답변에 대한 많은 감사의 중복 가능성, 당신은 어떻게 저장하고 디스플레이 이미지의 asp.net MVC C# 응용 프로그램에서 저를 보여줄 수 있습니까? – user3095373

관련 문제