저는 C # 및 ASP.Net 코어 면도기 페이지를 처음 사용합니다. 나는 이것이 간단한 질문이라고 생각하지만 몇 시간이 지난 후에도 여전히 해결할 수 없었습니다.
(현재) 내 비즈니스 로직 (예 : 유지 관리 로직)을 root / BLL / MaintenanceBLL / Maintenance.cs에 넣습니다.
Maintenance.cs에서 Maintenance 테이블의 레코드를 읽으려고 할 때. 오류가 발생합니다
CS0030 'Club.Models.Maintenance'유형을 'Club.BLL.MaintenanceBLL.Maintenance'로 변환 할 수 없습니다.
ForEach라는 용어는 VS2019에 의해 코드에서 수정되었습니다. 이 오류를 해결할 수 없습니다. 도움을 주시면 감사하겠습니다.
내 코드는 다음과 같습니다.
Namespace Club.BLL.MaintenanceBLL
{
public class Maintenance
{
private readonly Club.Data.ApplicationDbContext _context;
public Maintenance(Club.Data.ApplicationDbContext context)
{
_context = context;
}
public Maintenance()
{
}
public void DoMaintenance()
{
//Parse Maintenance table and action those items
//where Active=True and ActionDate has passed
var maintenances = _context.Maintenance;
foreach (Maintenance m in maintenances)
{
//do something
}
}
}
}
var
자동 감지 유형에 사용
foreach (var m in maintenances)
또는
foreach (Club.Models.Maintenance m in maintenances)
그 이유는 Maintenance
하나는 아래에 namespace Club.Models
있고 다른 하나는 아래에 두 개의 클래스가 있어야하기 때문입니다 namespace Club.BLL.MaintenanceBLL
.
Namespace Club.BLL.MaintenanceBLL;
작성할 때 현재 코드가 아래에 있으므로 현재 또는에서 언급 한 모든 클래스 Maintenance
를 찾으려고 시도합니다 .Maintenance m in maintenances
namespace
namespace
using ...
당신은 추가하지 않은 using Club.Models;
그것을 발견 할 수는 없을 것이다, 그래서 Club.Models.Maintenance
당신의 foreach (Maintenance m in maintenances)
의지로 취급 Club.BLL.MaintenanceBLL.Maintenance
.
그러나 당신 _context.Maintenance
이 DbSet<Club.Models.Maintenance>
쓸 때 당신 foreach (var m in maintenances)
은 Club.Models.Maintenance
객체 와 루프를 기대할 것입니다 . 그리고 컴파일러가 오류를 표시하는 Maintenance
것으로 간주되는 것을 언급했습니다 .Club.BLL.MaintenanceBLL.Maintenance
red line
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다