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