2

我们希望消除在客户端上安装 OpenAccess 并构建机器的必要性,并计划使用 OpenAccess nuget 包来实现。我一直在遵循该指南并为解决方案中处理 ORM 的所有项目安装了 OpenAccess.CodeFirst nuget 包。

不幸的是,我收到了臭名昭著的异常:

System.TypeInitializationException: The type initializer for 'XXXl' threw an exception. ---> System.ArgumentException: Cannot find resource EntitiesModel.rlinq embedded in assembly

我已经检查了本文中的所有步骤,但仍然遇到同样的错误。我错过了什么?

4

1 回答 1

6

由于 Telerik OpenAccess ORM Nuget 包提供对代码优先方法的支持,默认情况下,设置针对流畅映射进行了优化,并且只有流畅映射模型会得到增强。为了使用不同类型的映射(Xml 映射或属性映射),您需要按照以下步骤启用它:

  1. 卸载包含您的模型的项目并打开项目文件进行编辑。
  2. 通过在项目文件的第一个 PropertyGroup 中添加 true 来启用 xml 映射。

例如:

<?xml version="1.0" encoding="utf-8"?>
<Project ...>
  ...
  <PropertyGroup>
    ...
    <UseXmlMapping>true</UseXmlMapping>
  </PropertyGroup>
  ...
</Project>

此外,您可以找到使用 Telerik OpenAccess ORM 的替代方法,无需安装本文档文章中所述 - http://documentation.telerik.com/openaccess-orm/developers-guide/integrating-openaccess-orm-in-your-solution/外部工具-howto-integrate-enhancer-msbuild

于 2014-01-17T15:11:21.330 回答