在 BreezeJS 客户端中解析元数据时出现异常

2024-01-23

前传和版本信息:

BreezeJS客户端版本:1.5.2

通过设计时 EntityFramework 模型在自定义服务器上生成的元数据 (6.1.2)

BreezeLabs EdmBuilder (1.0.5)

生成元数据时也遇到问题,可以在此处阅读:如何通过 EdmBuilder for OData v3/BreezeJS 从 EF DBContext 生成有效元数据 https://stackoverflow.com/questions/28077699/how-to-generate-valid-metadata-from-ef-dbcontext-via-edmbuilder-for-odata-v3-bre


问题/问题:

现在,微风客户端在解释元数据时抛出错误。

Unable to process returned metadata: A nonnullable DataProperty cannot have a null defaultValue. Name: MySuperDuperEnum

异常发生在breeze.debug.js at line 7110 - function parseCsdlSimpleProperty(parentType, csdlProperty, keyNamesOnServer).

这里出了什么问题?我的元数据有错误吗?

这是元数据:

<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
    <edmx:DataServices m:DataServiceVersion="3.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
        <Schema Namespace="ODataMetaDataGenerator" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">

            <EntityType Name="MyObject" p5:ClrType="GreatPersistencyNamespace.Model.GreatStuff.MyObject, BreezeEval, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:p5="http://schemas.microsoft.com/ado/2013/11/edm/customannotation">
                <Key>
                    <PropertyRef Name="ID"/>
                </Key>
                <Property Name="ID" Nullable="false" Type="Edm.Int32" p7:StoreGeneratedPattern="Identity" xmlns:p7="http://schemas.microsoft.com/ado/2009/02/edm/annotation"/>
                <Property FixedLength="false" MaxLength="Max" Name="Name" Type="Edm.String" Unicode="true"/>
                <Property Name="IsActive" Nullable="false" Type="Edm.Boolean"/>
                <Property Name="IsGreat" Nullable="false" Type="Edm.Boolean"/>
                <Property FixedLength="false" MaxLength="Max" Name="Description" Type="Edm.String" Unicode="true"/>
                <Property Name="Address" Nullable="false" Type="ODataMetaDataGenerator.Address"/>
                <Property Name="BehaviourType" Nullable="false" Type="ODataMetaDataGenerator.BehaviourType"/>
            </EntityType>

            <EnumType Name="BehaviourType" UnderlyingType="Edm.Byte" p5:ClrType="GreatPersistencyNamespace.Model.GreatStuff.BehaviourType, BreezeEval, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:p5="http://schemas.microsoft.com/ado/2013/11/edm/customannotation">
                    <Member Name="RUDE" Value="1"/>
                    <Member Name="KIND" Value="2"/>
                    <Member Name="UNKNOWN" Value="3"/>
            </EnumType>

            <EntityContainer Name="TheGreatModelContainer" p5:UseClrTypes="true" xmlns:p5="http://schemas.microsoft.com/ado/2013/11/edm/customannotation"   >
                    <EntitySet EntityType="ODataMetaDataGenerator.MyObject" Name="MyObjects"/>
            </EntityContainer>

        </Schema>
    </edmx:DataServices>
</edmx:Edmx>

错误的确切来源是breeze.debug.js at line 8597 - constructor of DataProperty.

必须设置 defaultValue,在我的例子中,它尝试从属性 dataType 获取默认值。 此时的 dataType 如下所示:

{
    name: "Undefined",
    defaultValue: undefined
}

发生这种情况是由于失败line 7091 - var dataType = DataType.fromEdmDataType(csdlProperty.type);

因为 csdlProperty 看起来像:

{
    name: "BehaviourType",
    nullable: undefined
    type: "ODataMetaDataGenerator.BehaviourType"
}

这当然不是 Edm 类型,因此失败了。这里应该使用枚举的基础类型吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 BreezeJS 客户端中解析元数据时出现异常 的相关文章

  • 如何在 Entity Framework 4.4 中实现 DBSet.AddOrUpdate?

    回应 Slauma 对我的问题的回答关于在 Windows XP 上运行使用 EF 的应用程序 https stackoverflow com questions 17963417 can i implement entity framew
  • .NET 实体框架核心

    我已经阅读了过去两年中发布的几乎所有有关 EF 的其他问题 我下载其他软件包没有任何问题 只是实体框架不会为我安装 我什至尝试安装最新版本的 Nuget 并在我的项目目录中使用它的工具来恢复包 之后 我将这一行添加到我的 csproj 中
  • 有没有更好的方法使用 MVC 4 和 Entity Framework 5 添加子记录?

    我正在学习 MVC 并结合实体框架处理其无状态性质 我的问题是 有没有更优雅的方式来处理下面的场景 我有两个 POCO 实体 public class Contest public long ID get set public IColle
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • Java - 为什么不允许 Enum 作为注释成员?

    It says 原始 String Class an Enum 另一个注释 上述任何一个的数组 只有这些类型才是合法的 Annotation 成员 为什么泛型 Enum 不能成为 Annotation 的成员 例如 Retention Re
  • 使用实体框架重叠约会

    我将 asp net mvc 与实体框架一起使用 我有一个包含 startat 字段 endat 字段和 roomid 字段 称为 SpaceConfigurationId 的约会列表 并且希望查找给定房间已重复预订的约会列表 可以假设 e
  • 如何使用 Entity Framework Code First 在两个实体之间建立多个一对多关系

    下面是保存关系数据库记录的简单方法 该方法运行得很好 我对一种情况有疑问 在此之前 我需要知道如果数据库复杂性增加 我所采用的方法会遇到什么困难 还有更好 高效但简单的方法吗 一对一 tb student store student det
  • 枚举扩展方法

    在vs2008中 是否可以编写适用于任何枚举的扩展方法 我知道您可以针对特定枚举编写扩展方法 但我希望能够使用单个扩展方法对每个枚举进行处理 这可能吗 是的 只需针对基础进行编码Enum类型 例如 public static void So
  • EF4如何在多对多关系中公开联接表

    假设我有以下表格 Essence EssenceSet 和 Essence2EssenceSet 其中 Essence2EssenceSet 仅保存前 2 个表的 ID 以形成 M M 关系 在 EF 中 由于 Essence2Essenc
  • TIFF 元数据的最大大小是多少?

    TIFF 文件元数据的单个字段中可以合并的元数据数量是否有最大限制 我想在 ImageDescription 字段中存储大文本 最多几 MB 没有具体的最大限制ImageDescription但是 整个 TIFF 文件存在最大文件大小 该最
  • 实体框架中的实体图是什么?

    我一直在研究一些实体框架教程 并且遇到了这个词实体图 我对这个术语及其用法还没有清楚的了解 任何人都可以提供有关此主题的信息 例如它是什么及其在实体框架上下文中的用途 当实例化的对象以某种关系连接在一起时 它们被称为 图或实体图 实体框架有
  • 当我在纯 EF4 代码中具有一对多映射时,可以隐藏 ICollection 字段吗?

    我的具有一对多映射的域类通常采用以下形式 未经测试的代码 public Customer Customer Public methods public Order AddOrder Order order orders Add order
  • 包管理器控制台中缺少文件错误

    我们的开发团队的一些成员在打开包管理器控制台时开始看到以下错误 它完全阻止我们运行实体框架命令 我们已经检查过并且提到的文件确实存在 GetEvent types ps1xml Diagnostics Format ps1xml Diagn
  • 使用属性来减少枚举到枚举的映射以及枚举/常量到操作开关语句

    我想每个人都见过这样的代码 public void Server2ClientEnumConvert ServerEnum server switch server case ServerEnum One return ClientEnum
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • Javadoc 1.5 和 1.6 中缺少 enum.valueOf(String name)

    这可能是一个愚蠢的问题 但我正在使用该方法enum valueOf String name 那里没问题 只是当我检查 javadoc 以了解有关此方法的更多信息时 我找不到它 有javadoc用于valueOf Class
  • VS 2010 Web应用程序中的ASP.NET Web Api CRUD操作

    我尝试在 VS 2010 Web 应用程序中进行 ASP NET Web Api CRUD 操作 但为什么结果没有从源表返回所有整行 这是我的代码 路线 Globax asax protected void Application Star
  • 实体框架多表多对多

    我正在使用 EF4 1 Code First 并尝试创建一些需要链接表的多对多关系表 请参阅下面的一小段代码 class Event int EventId get set ICollection
  • 是否可以为枚举类枚举器添加别名?

    给定一个 C 11 枚举类 嵌套在几个长且丑陋的命名空间中 namespace long and ugly enum class colour red green blue 枚举值可以使用别名吗 使用 clang 3 5 可以执行以下操作
  • 实体框架 - 有条件地包含相关实体

    我维护一个 API 根据对人员列表的请求 根据请求返回不同的结果集 例如 一些 API 客户端想要获取人员列表及其交互列表 其他 API 客户端则想要人员及其元数据列表 所有这些都可以在返回人员的 API 方法请求中指定 这似乎不起作用 u

随机推荐