Пусть Entity Framework (сначала код) игнорирует индексированное свойство - PullRequest
2 голосов
/ 01 июня 2011

В объекте у меня есть следующее объявление:

Default Property Item(key As String) As String

Поскольку Entity Framework не нравится индексированные свойства, я пытался его игнорировать:

Public Class EntityMap
    Inherits EntityTypeConfiguration(Of EntityMap)
    Public Sub New()
        ' Me.Ignore(Function(x) x.Item()) --- Missing index parameter, compiler error
        ' Me.Ignore(Function(x) x.Item(String.Empty)) --- Gives runtime error
    End Sub
End Class

Я такжепопытался удалить все соглашения об обнаружении из modelBuilder, поэтому все отношения свойств должны быть явно установлены:

        modelBuilder.Conventions.Remove(Of AssociationInverseDiscoveryConvention)()
        modelBuilder.Conventions.Remove(Of ComplexTypeDiscoveryConvention)()
        modelBuilder.Conventions.Remove(Of IdKeyDiscoveryConvention)()
        modelBuilder.Conventions.Remove(Of NavigationPropertyNameForeignKeyDiscoveryConvention)()
        modelBuilder.Conventions.Remove(Of PrimaryKeyNameForeignKeyDiscoveryConvention)()
        modelBuilder.Conventions.Remove(Of TypeNameForeignKeyDiscoveryConvention)()

Когда выполняется запрос linq для извлечения объектов, генерируется исключение «Индексированные свойства не поддерживаются».

У кого-нибудь есть идеи, как позволить Entity Framework игнорировать индексированное свойство?Свойство должно быть общедоступным для других лиц.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...