- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Visual Studio 2013 中,我使用 Nuget 中的 OData 客户端代码生成器使用 OData V4 端点。出乎意料的是,本周 t4 模板给出了错误:无法将类型为“Microsoft.OData.Edm.Csdl.CsdlSemantics.UnresolvedType”的对象转换为类型“Microsoft.OData.Edm.IEdmCollectionType”。
我有 7 个正在使用的 OData 端点,其中只有一个在后端有更新,需要重新保存 *.tt 文件。保存时出现错误并将输出 *.cs 文件留空。然后,我尝试保存其中一个在 OData 端点没有模型更改的 *.tt 文件,以查看它的行为方式。思考过程是,端点模型的更改可能以某种方式与客户端代码生成器不兼容。不幸的是,一个失败并产生了一个空白的 *.cs 文件以及同样的错误。
幸运的是,所有内容都使用 git 进行了版本控制,我能够回滚文件以保持项目运行。
将它放在这里以防其他人升级他们的 OData 客户端代码生成器并感到沮丧。
最佳答案
问题原来是升级自:OData 客户端 T4 模板版本。 2.2.0到OData 客户端 T4 模板版本。 2.4.0
在版本之间添加了一些新项目,使您的旧 *.TTInclude 文件变得无用。
解决问题的步骤
上述步骤应该可以解决问题。
我注意到其中一个 ttincludes 有差异。
一个新的命名空间被添加到 ttinclude
<#@ Import Namespace="Microsoft.OData.Edm.Vocabularies.Community.V1" #>
添加了一个新的 DeclaredValueTerm:
tmp.FindDeclaredValueTerm(AlternateKeysVocabularyConstants.AlternateKeys) != null)
一个新的抽象方法:
internal abstract void WriteEntityTypeAttribute();
以及其他一些使您之前的模板无效的杂项。希望这对升级 OData V4 的 OData 客户端代码生成器的任何人有所帮助。
关于c# - 无法将类型为 'Microsoft.OData.Edm.Csdl.CsdlSemantics.UnresolvedType' 的对象转换为类型 'Microsoft.OData.Edm.IEdmCollectionType',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32727022/
我有一个 EF 项目,其中包含我已成功使用的数据模型。 “元数据工件处理”选项设置为“嵌入输出程序集中”。 由于 .edmx 文件位于项目的根文件夹中,因此 EntityConnectionStrin
是否可以为 EntityFramework 中的每个实体使用单独的 ssdl、csdl 和 msl 文件? 也就是我想把映射信息模块化。 注意:EdmGen.exe 工具将所有实体的 ssdl、csd
我在构建时收到错误,提示“系统找不到为 3 个元数据文件“CSDL、MSDL、SSDL”中的每一个指定的文件 能够从数据库生成模型,连接字符串良好。重新安装了正确的连接器,MYSQL 作为提供程序在
我只是有点挑剔,但我正在研究 Entity Framework 如何从 EDMX 文件生成 DLL,我在 msdn 上看到了这个: The Entity Data Model Designer (En
给定: 一个空的 C# 项目 3 个松散文件:一个 SSDL、CSDL 和一个 MSL(在别处生成) 没有 EDMX 文件 我应该对项目执行哪些修改/添加以将这些文件编译成基于 T4 的 Object
我想从具有 EF 模型的程序集中获取 csdl、ssdl 和 msl 规范。 使用反射: //loading assembly var assem = Assembly.LoadFile(assemb
我有 DAL(模型第一个 Entity Framework 4.1)和在不同项目中使用它的服务。一切正常,但经过一些小的更改(例如我从数据库生成模型)后,它停止工作。我现在收到元数据异常。 经过几个小
我使用 EF 4(目前不使用 self 跟踪实体)。我已向我的实体之一添加了一些列(其中没有一个是键,所有列都可为空),并得到 Number of members in conceptual type
我正在使用 EF 6.1,并希望在 EDMX 文件的 CSDL 部分中创建一个自定义函数,该函数可以调用 SQL 2012 中内置的 STUFF 函数。 我所拥有的非常简单。 (注意:这假设时间是没有
我试图通过 Visual Studio 命令行从 mysql 数据库中的 EdmGen.exe 生成实体类(ssdl、csdl、msl 等),但出现异常。 这是我的命令: EdmGen.exe /mo
我想用 Effort 运行测试,为此我需要指定一个连接字符串,该连接字符串还包含对 .csdl、 .ssdl 和 的引用.msl 文件。 (非工作)连接字符串现在看起来像这样: Model.proj
在 Visual Studio 2013 中,我使用 Nuget 中的 OData 客户端代码生成器使用 OData V4 端点。出乎意料的是,本周 t4 模板给出了错误:无法将类型为“Microso
我是一名优秀的程序员,十分优秀!