2016-12-02 3 views
0

웹 응용 프로그램 용 C#에서 코딩을 배우고 있으며이를 수행하기 위해 MVC를 사용하고 있습니다. 지금까지 MSSQL 데이터베이스를 쿼리하는 데 성공했으며 이제 Linq와 함께이 작업을 수행하려고합니다. 그것은 작동하지만 그것은 또한 내게 최종 결과에 관해서는 원치 않는 쿼리를 보여줍니다. 내가 이것을 실행하고 데이터베이스 레코드를 반환뿐만 아니라 (심지어없이 얻을에서 정확한 키를 제공하는 경우C# Linq SQL이 페이지 콘텐츠로 쿼리를 표시합니다.

@Model Linqget 
@{ 
    ViewBag.Title = "Linqget"; 
} 

@foreach (var thelist in Model) 
{ 
<div>@thelist.ip</div> 
} 

: 이것은 내이다

[HttpGet] 
public ActionResult Linqget(string key) 
{ 
    var thelist = (from thenameofthequery in DeDB.whitelists where thenameofthequery.apikey == key select thenameofthequery).ToList(); 
    return View(thelist); 
} 

:

내 컨트롤러입니다 get 매개 변수) 다음 SQL 쿼리 :

SELECT [Extent1].[id] AS [id], [Extent1].[ip] AS [ip], [Extent1].[apikey] AS [apikey] FROM [dbo].[whitelist] AS [Extent1] WHERE ([Extent1].[apikey] = @p__linq__0) OR (([Extent1].[apikey] IS NULL) AND (@p__linq__0 IS NULL)) Linqget 

"thelist"에 .tolist를 적용 할 때 retu rn

System.Collections.Generic.List`1[FSAPI.Models.whitelist] Linqget 

이 메아리를 어떻게 제거 할 수 있습니까?

+0

'@Model List ' – juharr

답변

0

모델 선언이 잘못되었습니다. 이렇게하면 .ToString()이 개체에서 호출됩니다.

@model List<Whitelist> 

이 엔티티의 적절한 오브젝트 유형 Whitelist 교체 :

대신 : 같은

@model Linqget 

사용 뭔가.

+0

목록 대신 Model을 모델로 변경하고 IEnumerable 을 사용합니다. 나를 올바른 방향으로 인도 해 주신 주셔서 감사합니다. – Frostopal

관련 문제