Visual Studio 2013 with Update 5,New Web App项目(WinForms)指向.NET Framework 4.5,语言C#5。我没有为项目创建任何表单,任何加载项或任何Nu-Get包。我没有添加任何其他参考文献。我创建了该项目并使用NuGet添加了Entity Framework 6.1.1。
免责声明:我是Entity Framework的新手。
我创建了一个非常简单的SQL Server 2008R2数据库,其中包含三个表。在项目中,我添加了一个新的ADO.Net实体数据模型并将其指向数据库。该模型似乎正确生成,以及相应的 .Context.tt,.designer.cs,.edmx.Diagram和.tt文件。
但是,当我选择打开.Context.tt文件时,我得到37个编译器错误,包括“不允许使用默认参数说明符”。关于UsingDirectives函数。所有其他错误都是基于自动生成的参数的语法错误。我已经搜索过具有此问题的人的高低,并且“.NET必须在4.0”语言之外的解决方案必须在C#5.0中,因为项目是以这种方式配置的。 ELSE可能导致我的项目中存在这个问题?
提前感谢任何想法。
public string UsingDirectives(bool inHeader, bool includeCollections = true)
{
return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
? string.Format(
CultureInfo.InvariantCulture,
"{0}using System;{1}" +
"{2}",
inHeader ? Environment.NewLine : "",
includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
inHeader ? "" : Environment.NewLine)
: "";
}
答案 0 :(得分:2)
我的问题的答案似乎是使用DevArt T4编辑器。在推荐培训视频后,我安装了此视频以使文本模板更具可读性。我使用的是1.0.9版。我的理论是这个扩展使用.NET 3.5框架库来进行语法检查,并在我的错误列表中创建错误。然而,.tt实际上一直在努力。我禁用了扩展程序,错误消失了,我继续前进。我希望这可以帮助那些可能在代码中遇到无法解释的错误的人。