ef core linq将int值0更改为-2147482646

p5fdfcr1  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(203)

我正在使用efcore和linqtosql。该表只包含两列:volunteId和roleid。我的关键是:

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,这在我的db中是一个有效值?
谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题