未知的CS1003错误

Ben*_*Ben 1 c# entity-framework ef-migrations

我无法为超过特定点的实体框架中的代码优先迁移而编译我的项目。我正在从xml中读取值以填充表。我有以下代码:

        //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();
Run Code Online (Sandbox Code Playgroud)

我在输出窗口中收到以下错误:Configuration.cs(179,71,179,80): error CS1003: Syntax error, ',' expected但是我没有在错误列表中收到任何错误,而且我一生都看不到缺少的内容,

xml如下:

<?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>
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我:a)缺少的逗号在哪里,或b)导致我得到此错误的真正问题是什么。

谢谢。

Dav*_*idG 5

错误在此行上:

DateTime.TryParse((string)e.Element("Start"), out var startDate);
Run Code Online (Sandbox Code Playgroud)

而且您通过var关键字获得它。您必须删除它。目前尚不清楚为什么要在其中放置它,但是如果要声明该变量,请在上一行进行操作:

DateTime startDate;
DateTime.TryParse((string)e.Element("Start"), out startDate);
Run Code Online (Sandbox Code Playgroud)

话虽这么说,但是如果您稍等片刻,C#版本7实际上将支持此功能(尽管尚不清楚是否可以使用它var来代替显式类型)。在此处查看建议的功能:https : //blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/