/ / Jak przekonwertować tę instrukcję sql na linq z tym wzorcem - sql, sql-server, linq, sql-server-2008, linq-to-sql

Jak przekonwertować to wyrażenie sql na linq z tym wzorcem - sql, sql-server, linq, sql-server-2008, linq-sql

Jak przekonwertować tę instrukcję SQL na Linq.

declare @S nvarchar(100) = "www.abc.com/a/b/c/d/e/f/g/h/i"

while PATINDEX("%[/]%" , @S) > 0 BEGIN
SET @S = LEFT (@S,LEN(@S) - PATINDEX("%[/]%" , REVERSE(@S)))
SELECT @S
END

Odpowiedzi:

2 dla odpowiedzi № 1

Powinno to zrobić:

StringBuilder sb = new StringBuilder();
string url = "www.abc.com/a/b/c/d/e/f/g/h/i";

var q = url.Split("/").Select(s => sb.Append((sb.Length > 0 ? "/" : "") + s).ToString());

foreach(string output in q.Reverse())
Console.WriteLine(output);

Wydajność:

www.abc.com/a/b/c/d/e/f/g/h/i
www.abc.com/a/b/c/d/e/f/g/h
www.abc.com/a/b/c/d/e/f/g
www.abc.com/a/b/c/d/e/f
www.abc.com/a/b/c/d/e
www.abc.com/a/b/c/d
www.abc.com/a/b/c
www.abc.com/a/b
www.abc.com/a
www.abc.com