gpt4 book ai didi

sql - 为什么此 LINQ 查询将值 1 分配给数据库中的 NULL 值?

转载 作者:行者123 更新时间:2023-12-02 02:27:10 25 4
gpt4 key购买 nike

ExamVersion 类有一个 int? 属性,名为 SourceSafeVersionNum

当我执行以下代码时:

var query = from examVersion in db.ExamVersions
where examVersion.ExamVersionID == ExamVersionID
select examVersion;

foreach (ExamVersion examVer in query.ToList())
{
yield return examVer;
}

examVer.SourceSafeVersionNum 设置为 1,即使它在数据库中为 NULL

当我在 SQL Server 中运行由 LINQ 生成的 SQL 代码时,SourceSafeVersionNum 列的值为 NULL(如我所料),但在 foreach 循环中 examVer.SourceSafeVersionNum1

我在代码中找不到任何分配默认值或任何类似逻辑的地方。

知道为什么/在哪里将此值设置为 1 吗?

这是属性声明(由 .dbml 文件生成)

[Column(Storage="_SourceSafeVersionNum", DbType="Int", UpdateCheck=UpdateCheck.Never)]
public System.Nullable<int> SourceSafeVersionNum
{
get
{
return this._SourceSafeVersionNum;
}
set
{
if ((this._SourceSafeVersionNum != value))
{
this.OnSourceSafeVersionNumChanging(value);
this.SendPropertyChanging();
this._SourceSafeVersionNum = value;
this.SendPropertyChanged("SourceSafeVersionNum");
this.OnSourceSafeVersionNumChanged();
}
}
}

最佳答案

您是否尝试过在属性的 set{} 方法中设置断点以查看还有什么可能填充它的值?您可能会在行动中捕获罪魁祸首,然后查看调用堆栈以了解它是谁。

关于sql - 为什么此 LINQ 查询将值 1 分配给数据库中的 NULL 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5488495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com