gpt4 book ai didi

C# 如果值不为 null,为什么 Linq 会因 Null 而崩溃?

转载 作者:行者123 更新时间:2023-11-30 12:33:15 24 4
gpt4 key购买 nike

我有一个简单的三表引用。它看起来很简单。那里的关联是在 DBML 中创建的。它们实际上不是表定义中的外键。为什么?这是一个很长的故事。相信我,我已经打过那场仗但输了。

enter image description here

当我尝试使用 LINQ 添加新的 FileType 记录时,它崩溃并出现错误:无法将值 NULL 插入表 FileType 的列 ID。

            _fileType = new FileType()
{
Id = def.ID, // This is the integer "1"
Name = def.Name,
FileCategoryId = def.Category.ID,
DateLabel = def.DateLabel,
FileNamePrefix = def.Prefix,
FolderName = def.Folder,
CreateInspection = 0
};

try
{
dc.FileTypes.InsertOnSubmit(_fileType);
dc.SubmitChanges();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

但是如果您注意到代码,就会设置 Id。我检查了该值,它不为空。它是一个整数。我错过了什么或做错了什么?

我确实进行了检查以确保存在正确 ID 的 FileCategory 记录。还有什么我想念的吗?

最佳答案

我以前见过这样的事情。

当您只分配“id”而不分配相关对象时,就会发生这种情况。

尝试以下操作:

new FileType
{
FileCategory = def.Category,
...
}

关于C# 如果值不为 null,为什么 Linq 会因 Null 而崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9596731/

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