2016-12-29 1 views
0

엔티티 프레임 워크에서 특정 시점을 지나서 코드 우선 마이그레이션을 위해 프로젝트를 컴파일 할 수 없습니다. 나는 xml로부터 값을 읽어 테이블을 채우고있다.알 수 없음 CS1003 오류

 //EnrolmentProgramStartDate 

     var programQuery = from r in context.EnrolmentPrograms 
          select r; 

     var programList = programQuery.ToList<Entities.MetaData.Enrolment.EnrolmentProgram>(); 

     resourceName = "LearnLogicElicos_WebApi.SeedData.MetaData.Enrolment.enrolment_program_start_date.xml"; 
     stream = assembly.GetManifestResourceStream(resourceName); 
     xml = XDocument.Load(stream); 
     List<Entities.MetaData.Enrolment.EnrolmentProgramStartDate> enrolmentStartdates = new List<Entities.MetaData.Enrolment.EnrolmentProgramStartDate>(); 

     foreach (var e in xml.Root.Elements("StartDate")) 
     { 
      DateTime.TryParse((string)e.Element("Start"), out var startDate); 

      enrolmentStartdates.Add(new Entities.MetaData.Enrolment.EnrolmentProgramStartDate() 
      { 
       PrgmCode = (string)e.Element("ProgramCode"), 
       StartDate = startDate 
      }); 
     } 

     var programStartdateWithFk = (from t1 in enrolmentStartdates 
             join t2 in programList 
             on t1.PrgmCode equals t2.PrgmCode 
             select new Entities.MetaData.Enrolment.EnrolmentProgramStartDate 
             { 
              PrgmCode = t1.PrgmCode, 
              StartDate = t1.StartDate, 
              EnrolmentProgramFk = t2.PrgmPk 
             }); 

     context.EnrolmentProgramStartDates.AddRange(programStartdateWithFk); 

     context.SaveChanges(); 

내가 출력 창에 다음과 같은 오류가 점점 오전 : 나는 다음과 같은 코드가 Configuration.cs(179,71,179,80): error CS1003: Syntax error, ',' expected를하지만 오류 목록에 오류가 수신되지 않는 나는 내 인생이 누락 된 ,을 볼 수 없기 때문.

<?xml version="1.0" encoding="utf-8" ?> 
<Starts> 
    <StartDate> 
    <ProgramCode>DEC25</ProgramCode> 
    <Start>2018,1,2</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>DEC15</ProgramCode> 
    <Start>2018,3,19</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>DEC10</ProgramCode> 
    <Start>2018,4,30</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>DEC5W</ProgramCode> 
    <Start>2018,6,4</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>DEC5R</ProgramCode> 
    <Start>2018,6,4</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>DEC5S</ProgramCode> 
    <Start>2018,6,4</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>DEC5L</ProgramCode> 
    <Start>2018,6,4</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>GE</ProgramCode> 
    <Start>2018,1,2</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>GE</ProgramCode> 
    <Start>2018,1,8</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>GE</ProgramCode> 
    <Start>2018,1,15</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>GE</ProgramCode> 
    <Start>2018,1,22</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>GE</ProgramCode> 
    <Start>2018,1,29</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>GE</ProgramCode> 
    <Start>2018,2,5</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>ITP</ProgramCode> 
    <Start>2018,1,2</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>ITP</ProgramCode> 
    <Start>2018,1,8</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>ITP</ProgramCode> 
    <Start>2018,1,15</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>ITP</ProgramCode> 
    <Start>2018,1,22</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>ITP</ProgramCode> 
    <Start>2018,1,29</Start> 
    </StartDate> 
    <StartDate> 
    <ProgramCode>ITP</ProgramCode> 
    <Start>2018,2,5</Start> 
    </StartDate> 
</Starts> 

누군가가 말해 주 시겠어요 중 하나 :

XML은 다음과 같습니다가) 누락 된 쉼표가, 또는 b)이 오류가 저를 선도하는 진짜 문제가 무엇인지 곳.

감사합니다.

+1

당신이 맞습니다 - 나쁜 제목. 나는 그것을 시도하고 더 나은 내 문제를 반영하기 위해 바 꾸었습니다. – Ben

답변

3

오류는이 라인에 :

DateTime.TryParse((string)e.Element("Start"), out var startDate); 

그리고 당신 때문에 var 키워드의 그것을 얻을. 제거해야합니다. 그것은 당신이 그것을 가지고 왜 분명하지 않다,하지만 당신은 변수를 선언하려는 경우, 다음 이전 행에 작업을 수행합니다

DateTime startDate; 
DateTime.TryParse((string)e.Element("Start"), out startDate); 

미루어 보아 당신은 잠시, C# 버전을 기다려야하는 경우 7 지원 실제로 것, 그 (아직 명시적인 형식 대신 var을 사용할 수 있는지 여부는 분명하지 않지만). 제안 된 기능을 보려면 여기를 클릭하십시오. https://blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/