代码之家  ›  专栏  ›  技术社区  ›  Dave Mackey chem1st

实体框架:实体名称与属性相同时的元数据?

  •  1
  • Dave Mackey chem1st  · 技术社区  · 16 年前

    这是我的代码,扩展不起作用,前缀起作用:

    Imports System.Web.DynamicData
    Imports System.ComponentModel.DataAnnotations
    <MetadataType(GetType(ExtensionsMetaData))> _
    Partial Public Class Extensions
    
    End Class
    Public Class ExtensionsMetaData
    Private _phones_extensions As Object
    Private _prefix As Object
    Private _did_flag As Object
    Private _len As Object
    Private _sfc_id As Object
    Private _name_display As Object
    Private _floor As Object
    Private _room As Object
    Private _phones_departments As Object
    Private _phones_buildings As Object
    Private _phones_phones As Object
    Private _phones_restriction_classes As Object
    Private _phones_tens As Object
    <DisplayName("Extension")> _
    Public Property extensions() As Object
        Get
            Return _phones_extensions
        End Get
        Set(ByVal value As Object)
            _phones_extensions = value
        End Set
    End Property
    <DisplayName("Prefix")> _
    Public Property prefix As Object
        Get
            Return _prefix
        End Get
        Set(ByVal value As Object)
            _prefix = value
        End Set
    End Property
    

    我怎样才能让这个代码工作?我已经查看了所有的数据模型,它的名称似乎应该是扩展!

    我收到的错误是:类型“phoneDBentities.Extensions”的关联元数据类型包含以下未知属性或字段:Extensions。请确保这些成员的名称与主类型上属性的名称匹配。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    这是EF“约定优先于配置”特性的一个限制。

    Entity Framework Mapping Oddity - member names cannot be the same as their enclosing type

    解决此问题的最简单方法是将属性重命名为“PhoneExtension”

    推荐文章