我无法理解这里的某些内容。我正在尝试操作正在创建的实体中的字段,但它没有按预期工作。
简而言之,我试图通过拆分电子邮件来更改包含电子邮件的字段,然后添加
;
分隔符以在保存到数据库之前区分不同的电子邮件。
这是我的代码:
public async Task<IActionResult> OnPost(Models.Requests.Request newRequest)
{
newRequest.RequestStatusID = (int)RequestStatusEnum.Requested;
newRequest.CreatedBy = User.Identity.Name;
newRequest.CreatedDate = DateTime.Now;
newRequest.LastRequestDate = DateTime.Now;
if (!String.IsNullOrEmpty(newRequest.CCRecipients))
{
string[] emailSeparators;
string ccRecipients = "";
emailSeparators = newRequest.CCRecipients.Split(new Char[] { ' ', ',', ';' });
foreach (var email in emailSeparators)
{
//ccRecipients.Concat(email + "; ");
// I have tried two different ways to concatenate the string
ccRecipients = email.Trim() + "; ";
}
// This is where I'm trying to manipulate the string into the field
// To my understanding this is possible but I could be wrong
newRequest.CCRecipients = ccRecipients;
}
await _changeControlContext.AddAsync(newRequest);
await _changeControlContext.SaveChangesAsync();
// Other code that is being done
return new RedirectToPageResult("RedirectsToAnotherPage");
}
可能有更好的方法来处理这个问题,但现在我想了解为什么这不起作用或者我忽略了什么。
理论上它应该有效,但事实并非如此。这里可能有什么问题?
编辑:当我的意思是不工作时,我的意思是所述请求的
CCRecipients
字段的值没有保存在数据库中。
例如:
[email protected]; [email protected]
。但在数据库中,似乎没有存储任何内容。它是一个空白而不是空。抱歉,不太清楚
替换现有代码行
ccRecipients = email.Trim() + "; ";
与
ccRecipients = ccRecipients + email.Trim() + "; ";