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