[英]Entity framework query add data from select
我有一个使用实体框架用 C# 编写的查询:
var query = _context.MyTable
.Where(m => m.Id == request.MessageId && m.MessageStatusId == MessageStatusValue.Error)
.Select(m => new Message()
{
Id = m.Id,
MessageContentId = m.MessageContentId,
FullContent = m.FullContent,
CompanyCode = m.CompanyCode,
Environment = m.Environment,
MessageTime = m.MessageTime,
MessageType = m.MessageType,
QueueName = m.QueueName,
QueueSeqNo = m.QueueSeqNo,
Reciever = m.Reciever,
ResponseMessageId = m.ResponseMessageId,
Sender = m.Sender,
ModTime = modInfo.ModTime,
ModUserId = modInfo.ModUserId,
MessageDirectionId = MessageDirectionValue.Out,
MessageStatusId = MessageStatusValue.NotSent,
});
接下来我想使用 var entity 将它添加到我的数据库中:
var entity = _context.MyTable.Add(new Message()
{
Id = Guid.NewGuid(),
}).Entity;
但我想把 Select 的所有数据都写在上面。 我怎么做?
首先,您必须执行查询才能从查询中获取结果。 您可以使用ToList()
执行查询
var messages = _context.MyTable
.Where(m => m.Id == request.MessageId && m.MessageStatusId == MessageStatusValue.Error)
.Select(m => new Message()
{
Id = m.Id,
MessageContentId = m.MessageContentId,
FullContent = m.FullContent,
CompanyCode = m.CompanyCode,
Environment = m.Environment,
MessageTime = m.MessageTime,
MessageType = m.MessageType,
QueueName = m.QueueName,
QueueSeqNo = m.QueueSeqNo,
Reciever = m.Reciever,
ResponseMessageId = m.ResponseMessageId,
Sender = m.Sender,
ModTime = modInfo.ModTime,
ModUserId = modInfo.ModUserId,
MessageDirectionId = MessageDirectionValue.Out,
MessageStatusId = MessageStatusValue.NotSent,
}).ToList();
然后你有一个你被选中的结果列表,你可以将它们添加到数据库中。 您可以将每条消息添加到数据库或使用AddRange(messages)
你可以在这里阅读更多关于它的信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.