【发布时间】:2020-02-12 12:12:35
【问题描述】:
我有一个 C# 类 Loan,它映射到 SQL Server 数据库中的 Loans 表。我正在使用 DotNet EF Core 2.1。从我的代码与数据库交互。
public class Loan
{
public decimal Rate { get;set; }
// Other properties omitted for brevity
}
当我创建数据库连接时,我将其配置为在服务器端无法执行查询时引发异常,如下所示:
services.AddDbContext<DbContext>(options =>
options
.UseSqlServer(systemConfiguration.DatabaseConnectionString)
.ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning)));
问题是使用LINQ查询十进制列时:
// Obtain DbContext from services
var loans = await dbContext.Loans.Where(l => l.Rate > 1.5m).ToListAsync();
由于无法在服务器端执行查询而引发异常。其他数值属性类型(例如 int)也可以正常工作。
【问题讨论】:
-
数据库表中的列是如何定义的?
-
@MarkWagoner decimal(18,4) not null
-
似乎适用于相同的 DB 列,但具有双重 C# 属性。
标签: c# linq .net-core ef-core-2.1