未知CS1003错误
问题描述:
我无法编译我的项目,以便在实体框架中的代码优先迁移超过特定点。我正在读取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如下:
<?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)什么导致我得到这个错误,真正的问题是。
谢谢。
答
的错误是在这条线:
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/
你是对的 - 坏标题。我改变了它试图更好地反映我的问题。 – Ben