如何在 MVC C# 中查找数据库记录
本文关键字:查找 数据库 记录 MVC | 更新日期: 2023-09-27 18:37:04
我有这个 C# 和 linq 到数据库来获取数据库的所有数据行
var getOldAttachment = _context.ca_Attachments.Where(x => x.CaseId == getCase[0].Id && x.isDeleted == false).ToList();
比我想使用 foreach 将确切的数据行重新插入数据库并更新新数据列,简单来说就是复制相同的数据行但具有不同的值。 数据行包含 Id、创建者、附件 ID、上次更新。 值分别为:1,测试器,12345,2015-11-16 11:49:50.810 我只想将编辑器的值更改为调用编辑器的当前用途。我应该在????里放什么部分?
if (getOldAttachment != null && getOldAttachment.Count > 0)
{
//foreach (??????)
//{
// data.ca_Attachments.Add(new ca_Attachment
// {
// AttachmentId = getOldAttachment.attachmentId,
// creator = editor,
// LastUpdatedOn = _startTime,
// });
//}
}
注意:ToList()
后无需检查null
。它永远不会为空。你也不需要检查Count > 0
,因为我们要迭代它(如果无论如何没有项目,它不会执行)。
你可以简单地写:
var oldAttachments = _context.ca_Attachments
.Where(x => x.CaseId == getCase[0].Id && !x.isDeleted)
.ToList();
foreach (var oldAttachment in oldAttachments)
{
data.ca_Attachments.Add(new ca_Attachment
{
AttachmentId = oldAttachment.attachmentId,
creator = editor,
LastUpdatedOn = _startTime,
});
}
以下是使用 ForEach
的一个选项:
getOldAttachment.ForEach(att => {
_context.ca_Attachments.Add(new ca_Attachment
{
AttachmentId = att.attachmentId,
creator = editor,
LastUpdatedOn = _startTime,
});
});
这使用_context
来添加新的附件而不是data
- 不确定data
是什么......
if (getOldAttachment != null && getOldAttachment.Count > 0)
{
for(var i = 0; i < getOldAttachment.Count; i++)
{
//this is how to populate the data from list
//sample only
ca_Attachment.AttachmentId = getOldAttachment[i].AttachmentId;
//do the insert code
}
}