c# - EF Core Linq 将 int 值更改为 -2147482646
问题描述
我正在将 EFCore 与 Linq to Sql 一起使用。该表仅包含两列,VolunteerId 和 RoleId。我的 Linq 是:
VolunteerRole vr = new VolunteerRole();
vr.RoleId = 9;
vr.VolunteerId = 0;
_db.VolunteerRoles.Add(vr);
await _db.SaveChangesAsync();
linq 没什么特别的。但是,在 SQL Server 中进行跟踪时,实际生成的 sql 语句为:
exec sp_executesql N'SET NOCOUNT ON;INSERT INTO [VolunteerRole] ([VolunteerId], [RoleId]) VALUES (@p0, @p1);',N'@p0 int,@p1 tinyint',@p0=-2147482646,@p1=9
所以出于某种原因,int值“0”被更改为“-2147482646”。我假设这是 int.MinValue?但为什么?为什么我不能简单地将 int 设置为 0,这是我的数据库中的有效值?
谢谢!
解决方案
推荐阅读
- c# - c#单元测试模拟类属性
- java - 数据结构链表
- c# - 在 C# 中解密 Python 加密 fernet 令牌
- c# - 从数据库中获取以逗号分隔的 MVC 中每条记录的项目列表?
- json - 卷曲 JSON 以仅输出一个对象
- autosys - autosys jil 文件:我可以在添加新属性时使用 update_job
- javascript - Modal 仅在默认情况下不隐藏时才会显示
- google-sheets - 在表格之间的所有列中搜索和复制缺失的数据
- java - 改造,使用泛型调用API,调用导致onFailure()
- garbage-collection - 提到的 opts 文件的 GC 配置详细信息