Я использую Split в выражении в .NET. Я получаю следующую ошибку:
System.NotSupportedException: Could not parse expression 'e.Languages.Split(,, None)': This overload of the method 'System.String.Split' is currently not supported.
Мне пришлось перегрузить метод, потому что если я не получу, я получу следующую ошибку:
An expression tree may not contain a call or invocation that uses optional arguments.
Разве нельзя использовать разбиение в выражении?
Код:
public static Expression<Func<CompanyEntity, CompanyDto>> DbMapping()
{
return comp => new CompanyDto
{
Id = comp.CompanyID,
Languages = comp.Languages.Split(',',StringSplitOptions.None).Select(l => l.Trim()).ToList(),
};
}
Как это используется:
var company = await _dbContext.CompanyEntity
.Where(comp => comp.CompanyID == companyId)
.Select(Company.DbMapping())
.FirstOrDefaultAsync();