gpt4 book ai didi

asp.net-web-api - ODataConventionModelBuilder的约定是什么?

转载 作者:行者123 更新时间:2023-12-03 01:27:16 25 4
gpt4 key购买 nike

有很多将ODataConventionModelBuilder与简单的人为模型一起使用的示例,通常只是一个类。

但是没有什么可以真正解释这些约定。如何编写符合约定的模型。没有官方文件。

那么惯例是什么?

最佳答案

从目前为止我所看到的,约定是Entity Framework使用的约定,而不是OData的任何新约定。如果我错了,请纠正我。

下面提供了有关代码优先约定的更多信息,但是朱莉·勒曼(Julie Lerman)的书中还有更多内容,但是我在网上找不到它们的详尽列表。

http://blogs.msdn.com/b/efdesign/archive/2010/06/01/conventions-for-code-first.aspx

更新

EF建模约定系统是可插入的,每个约定由封装行为的类表示,这些类在此处列出:

http://msdn.microsoft.com/en-us/library/system.data.entity.modelconfiguration.conventions(v=vs.113).aspx

但是,这对ODataConventionModelBuilder适用或使用哪一个无效。

  • AssociationInverseDiscoveryConvention -提供约定,以在相关类型之间仅存在一对导航属性时将导航属性检测为彼此相反。
  • AttributeToColumnAnnotationConvention -Code First约定的通用类,该类从.NET属性读取属性并基于这些属性生成列注释。
  • AttributeToTableAnnotationConvention -Code First约定的通用类,该类从.NET类型读取属性并基于这些属性生成表注释。
  • ColumnAttributeConvention -表示一个约定,用于处理在模型属性中找到的ColumnAttribute实例。
  • ColumnOrderingConvention -表示一个惯例,以应用通过ColumnAttribute或DbModelBuilder API指定的列顺序。
  • ColumnOrderingConventionStrict -约定应用通过ColumnAttribute或DbModelBuilder API指定的列顺序的约定。如果检测到重复的配置列顺序,则抛出此约定。
  • ComplexTypeAttributeConvention -表示处理在模型类型上发现的ComplexTypeAttribute实例的约定。
  • ComplexTypeDiscoveryConvention -表示一种约定,用于在没有主键,没有映射的基本类型且没有导航属性的情况下将类型配置为复杂类型。
  • ConcurrencyCheckAttributeConvention -表示处理模型属性上的ConcurrencyCheckAttribute实例的约定。
  • 约定-不覆盖配置的约定。
  • DatabaseGeneratedAttributeConvention -表示一个约定,用于处理在模型属性上找到的DatabaseGeneratedAttribute实例。
  • DecimalPropertyConvention -约定将精度设置为18,小数位数设置为2。
  • DeclaredPropertyOrderingConvention -表示将主键属性移动到最先出现的约定。
  • ForeignKeyAssociationMultiplicityConvention -表示一个约定,用于基于外键属性的CLR空值来区分可选关系和必需关系。
  • ForeignKeyDiscoveryConvention -表示发现外键属性的约定的基类。
  • ForeignKeyIndexConvention -表示为外键引入索引的约定。
  • ForeignKeyNavigationPropertyAttributeConvention -表示一个约定,用于处理在模型的导航属性中发现的ForeignKeyAttribute实例。
  • ForeignKeyPrimitivePropertyAttributeConvention -表示一个约定,用于处理在模型的外键属性上发现的ForeignKeyAttribute实例。
  • IdKeyDiscoveryConvention -用于检测主键属性的约定。公认的命名模式按优先级顺序为:1.'Id'2. [type name] Id主键检测不区分大小写。
  • IndexAttributeConvention -一种约定,用于发现属性的IndexAttribute属性并在模型中生成IndexAnnotation列注释。
  • InversePropertyAttributeConvention -表示一个约定,用于处理在模型属性中发现的InversePropertyAttribute实例。
  • KeyAttributeConvention -处理在模型属性中找到的KeyAttribute实例的约定。
  • KeyDiscoveryConvention -表示发现主键属性的约定的基类。
  • ManyToManyCascadeDeleteConvention -约定,将涉及多对多关系的两个表的级联删除添加到联接表中。
  • MappingInheritedPropertiesSupportConvention -约定以确保在映射继承的属性
  • 时不创建无效/不受支持的映射
  • MaxLengthAttributeConvention -表示一个约定,用于处理在模型属性中找到的MaxLengthAttribute实例。
  • NavigationPropertyNameForeignKeyDiscoveryConvention -查找外键属性的约定,外键属性的名称是从属导航属性名称和主体类型主键属性名称的组合。
  • NotMappedPropertyAttributeConvention -表示一个约定,用于处理在模型属性中发现的NotMappedAttribute实例。
  • NotMappedTypeAttributeConvention -表示一个约定,用于处理在模型类型上发现的NotMappedAttribute实例。
  • OneToManyCascadeDeleteConvention -提供约定以启用对任何所需关系的级联删除。
  • OneToOneConstraintIntroductionConvention -提供一种约定,以一对一关系将依赖实体类型的主键配置为外键。
  • PluralizingEntitySetNameConvention -表示一个约定,用于将实体集名称设置为实体类型名称的复数形式。
  • PluralizingTableNameConvention -表示将表名设置为实体类型名称的复数形式的约定。
  • PrimaryKeyNameForeignKeyDiscoveryConvention -查找名称与主体类型主键属性名称匹配的外键属性的约定。
  • PrimitivePropertyAttributeConfigurationConvention -处理在模型原始属性上发现的CLR属性的约定的基类。
  • PropertyAttributeConfigurationConvention -处理在模型类型属性上发现的CLR属性的约定的基类。
  • PropertyMaxLengthConvention -表示一种约定,该约定为类型支持长度构面的属性设置最大长度。默认值为128。
  • RequiredNavigationPropertyAttributeConvention -处理在模型的导航属性中发现的RequiredAttribute实例的约定。
  • RequiredPrimitivePropertyAttributeConvention -表示一个约定,用于处理在模型的原始属性中发现的RequiredAttribute实例。
  • SqlCePropertyMaxLengthConvention -表示一个约定,当类型为SqlCe的提供程序时,其类型支持长度构面的属性的默认最大长度为4000。
  • StoreGeneratedIdentityKeyConvention -表示将整数主键配置为身份的约定。
  • StringLengthAttributeConvention -表示一个约定,用于处理在模型属性中找到的StringLengthAttribute实例。
  • TableAttributeConvention -表示一个约定,用于处理在模型类型上发现的TableAttribute实例。
  • TimestampAttributeConvention -表示一个约定,用于处理在模型属性中找到的“TimestampAttribute”实例。
  • TypeAttributeConfigurationConvention -处理在模型中找到的CLR属性的约定的基类。
  • TypeNameForeignKeyDiscoveryConvention -查找外键属性的约定,该外键属性的名称是主体类型名称和主体类型主键属性名称的组合。
  • 关于asp.net-web-api - ODataConventionModelBuilder的约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804693/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com