未知的CS1003错误

时间:2016-12-29 04:44:23

标签: 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();

我在输出窗口中收到以下错误: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>

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

感谢。

1 个答案:

答案 0 :(得分:4)

错误在这一行:

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/

相关问题