我有点不太明白。我试图从正在创建的实体中操作字段,但它没有按预期工作。
简而言之,我试图改变一个字段,有电子邮件,通过拆分它们,然后添加一个;
分隔符,以区分不同的电子邮件之前,保存到数据库。
下面是我的代码:
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");
}
字符串
可能有更好的方法来处理这个问题,但现在我想知道为什么这是行不通的,或者我在看什么。
从理论上讲,它应该起作用,但它不是。这里有什么问题吗?
EDIT:当我指的是不工作时,我指的是所述请求的CCRecipients
字段的值没有保存在数据库中。
举例来说:RandomEmail@test.com; RandomEmail2@test.com
。但在数据库中,没有存储任何内容。它是一个白色而不是null。很抱歉我没说清楚
1条答案
按热度按时间yws3nbqq1#
替换现有代码行
第一个月
与
ccRecipients = ccRecipients + email.Trim() + "; ";
个或者使用better approach(如@Masoud Andalibi所述)
ccRecipients += email.Trim() + "; ";
个