EF Core получает часть строки в вызове - PullRequest
2 голосов
/ 29 апреля 2020

Я создал универсальный репозиторий c и извлекаю данные из моей базы данных. Часть моих данных включает в себя информацию о загрузке файла, включая место, где файл хранится, например:

\\RemoteLocation\Desktop\TargetFolder\MyFile.csv

Я хочу удалить все части до MyFile.csv, но я ' Я изо всех сил пытаюсь сделать это. В настоящее время я использую LINQ для сбора частей данных, которые мне нужны, например:

var fileData = _files.GetAll(); 
var latestFile = fileData.Where(x => x.FileLoadedTime != null && x.LoadStatusId == 4 && x.EngineId == 1).ToList().Last(); // most recent is at the bottom of the list

Может кто-нибудь показать мне, как я могу отрубить части моих данных, которые мне не нужны ?

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Метод, который вы ищете: Path.GetFileName(yourPath)

Я предполагаю, что ваш класс файлов похож на следующий

public class File{
    public DateTime FileLoadedTime;
    public int LoadStatusId;
    public int EngineId;
    public string Path;
}

var fileData = _files.GetAll(); 
var latestFile = fileData.Where(x => x.FileLoadedTime != null && x.LoadStatusId == 4 
                 && x.EngineId == 1).ToList().Last(); // most recent is at the bottom of the list

var path = Path.GetFileName(latestFile.Path);
2 голосов
/ 29 апреля 2020

Есть несколько способов получить имя файла из пути, вы можете попробовать ниже

Path.GetFileName ()

    string result1 = Path.GetFileName(latestFile);
    Console.WriteLine(result1);

или

Использование Split () :

    string result =  latestFile.Split('\\').Last();
    Console.WriteLine(result);

. net Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...