简体   繁体   English

未知的CS1003错误

[英]Unknown CS1003 Error

I can't compile my project for code-first migrations in entity framework past a certain point. 我无法为超过特定点的实体框架中的代码优先迁移而编译我的项目。 I am reading in values from xml to populate a table. 我正在从xml中读取值以填充表。 I have the following code: 我有以下代码:

        //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();

I am getting the following error in the output window: Configuration.cs(179,71,179,80): error CS1003: Syntax error, ',' expected but I am not receiving any errors in the error list and I cannot for the life of me see a missing , . 我在输出窗口中收到以下错误: Configuration.cs(179,71,179,80): error CS1003: Syntax error, ',' expected但是我在错误列表中没有收到任何错误,并且我在整个生命周期中都无法接受我看到一个失踪,

The xml is as follows: 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>

Could someone please tell me either: a) where the missing comma is, or b) what the real issue leading me to get this error is. 有人可以告诉我:a)逗号在哪里,或b)导致我得到此错误的真正问题是什么。

Thanks. 谢谢。

The error is on this line: 错误在此行上:

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

And you get it because of the var keyword. 您可以通过var关键字获得它。 You must remove it. 您必须将其删除。 It's not clear why you have it there, but if you are trying to declare the variable, then do it on a previous line: 目前尚不清楚为什么要在其中放置它,但是如果要声明该变量,请在上一行进行操作:

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

Having said that, if you wait a while, C# version 7 will actually support this (though it's unclear if you can use var instead of an explicit type just yet). 话虽如此,如果您稍等片刻,C#版本7实际上将支持此功能(尽管尚不清楚是否可以使用var代替显式类型)。 Take a look here for the proposed features: https://blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/ 在此处查看建议的功能: https : //blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM