2

エンティティには、次の宣言があります。

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 にインデックス付きプロパティを無視させる方法を知っている人はいますか? プロパティは、他のエンティティに対して公開されている必要があります。

前もって感謝します!

4

0 に答える 0