我正在使用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中是一个有效值?
谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!