1

EF6 で複数形をカスタマイズする新しい機能を活用したいと思います。絡み合い全体を検索しましたが、適切な例が見つかりません。

データベース (SQL Server) からモデルを生成し、カスタム T4 テンプレートを使用してコンテキストとモデル クラスを生成します。

私が知る限り、DbConfiguration から継承するクラスを作成し、それをモデル プロジェクトに配置するだけでよいはずです。私はこれをしました。

Public Class CustomConfiguration
    Inherits DbConfiguration

    Public Sub New()
        MyBase.New()
        SetPluralizationService(New CustomPluralizationService)
    End Sub
End Class

このクラスは、IPluralizationService を実装する必要があることを理解した CustomPluralizationService を参照します。上品でダンディ:

Imports System.Data.Entity.Infrastructure.Pluralization

Public Class CustomPluralizationService
    Implements IPluralizationService

    Public Function Pluralize(word As String) As String Implements System.Data.Entity.Infrastructure.Pluralization.IPluralizationService.Pluralize

    End Function

    Public Function Singularize(word As String) As String Implements System.Data.Entity.Infrastructure.Pluralization.IPluralizationService.Singularize

    End Function
End Class

もちろん、Pluralize 関数と Singularize 関数の実装を完了する必要がありますが、完全な例がどこにも、どの言語でも見つからないため、正確にどのように行うか途方に暮れています。誰か助けてくれませんか?

MSDN のドキュメントには、次のような不可解なガベージがあります。

Function Pluralize ( _
    word As [%$TOPIC/dn176961_en-us_VS_113_3_0_0_0_0%] _
) As [%$TOPIC/dn176961_en-us_VS_113_3_0_0_0_1%]

Dim instance As [%$TOPIC/dn176961_en-us_VS_113_3_0_1_0_0%] 
Dim word As [%$TOPIC/dn176961_en-us_VS_113_3_0_1_0_1%] 
Dim returnValue As [%$TOPIC/dn176961_en-us_VS_113_3_0_1_0_2%] 

returnValue = instance.Pluralize(word)

[%$TOPIC/dn176961_en-us_VS_113_3_0_2_0_0%] Pluralize( 
    [%$TOPIC/dn176961_en-us_VS_113_3_0_2_0_1%] word 
)

[%$TOPIC/dn176961_en-us_VS_113_3_0_3_0_0%]^ Pluralize(
    [%$TOPIC/dn176961_en-us_VS_113_3_0_3_0_1%]^ word
)
4

0 に答える 0