我正致力于在我们的应用程序[Microsoft.AspNetCore.Identity.EntityFrameworkCore]中增强应用程序并使用Microsoft .NET Core Identity for IAM。 该数据库是Microsoft SQL Server。数据库设置非常标准,但“NUMERIC_ROUNDABORT”将打开。
但是当我们启动应用程序时,我们得到以下异常。
System.Data.SqlClient.SqlException:
'CREATE INDEX失败,因为以下SET选项的设置不正确:'NUMERIC_ROUNDABORT' 验证SET选项是否正确,以便与计算列和/或筛选索引和/或查询通知和/或XML数据类型的索引视图和/或索引一起使用
工作方案:
场景1:在服务器级别关闭“NUMERIC_ROUNDABORT”时,应用程序正常运行并且没有问题。
场景2:当我从数据库中提取表创建查询并在“NUMERIC_ROUNDABORT”打开时执行它们,仍然一切正常。
场景3:当“NUMERIC_ROUNDABORT”在服务器级别关闭,并且第一次启动应用程序(让ef核心创建的所有表格)并打开时,下次应用程序工作,因为必要的表和索引是已经创造了。
非工作场景:
当在服务器级别打开“NUMERIC_ROUNDABORT”时,当我们第一次运行应用程序时,它会抛出异常。
我理解在表达式中发生精度损失以及在计算列或索引视图上创建或更改索引之后,预期会出现异常的原因。
你能帮助我吗,我们能否以编程方式解决这个问题。那可能吗?
P.S:数据库中的更改将不是一个可能的选项[在我的情况下]。
感谢大家的建议和帮助。