RepoDb 似乎不适用于名称中带点的 SQL 服务器表

RepoDb does not seem to work for SQL Server tables with dot in the name

我开始使用 RepoDb,但我的 SQL Server 2016 数据库有 tables,中间有一个点,如下所示:User.Data.

从完整的 .NET Entity Framework 迁移到 RepoDb,我遇到了这个问题。我正在使用流畅的映射,我写了这样的东西:

FluentMapper
    .Entity<UserData>()
    .Table("[User.Data]")
    .Primary(u => u.UserId)

我得到异常:MissingFieldsException 它说:

There are no database fields found for table '[User.Data]'. Make sure that the target table '[User.Data]' is present in the database and/or at least a single field is available.

出于好奇,我创建了一个具有相同属性和主键的 table UserData,并且效果很好(更改流畅的映射器:.Table("[UserData]").

我是不是漏掉了什么?

谢谢你帮助我

RepoDb.SqlServer (v1.0.13)版本以上支持。您可以使用以下任一方法。如果您使用的是数据库和架构,请务必指定引号。

通过内置 MapAttribute.

[Map("[User.Data]")]

通过 System.ComponentModel.DataAnnotations 命名空间的 TableAttribute

[Table("[User.Data]")]

像你一样通过FluentMapper

FluentMapper
    .Entity<UserData>()
    .Table("[User.Data]");