SQL LINQ vs. Guid.Empty

Nikdy jsem na to zatím nenarazil, nebo si toho minimálně nevšimnul, ale v LINQ dotazu platí následující:

Guid.Empty != new Guid("00000000-0000-0000-0000-000000000000")

konkrétní příklad:

var a = query.Where(row => row.InvoiceId == Guid.Empty);

var b = query.Where(row => row.InvoiceId == new Guid("00000000-0000-0000-0000-000000000000"));

logicky bych čekal, že výsledek bude identický, tedy a i b budou obsahovat kolekci identických objektů, ale výsledek je ten, že a obsahuje prázdnou kolekci, b obsahuje všechny záznamy kde je InvoiceId rovno Guid.Empty, což je sice to samé, LINQ to ale zjevně interpretuje jinak a první příklad je tedy nefunkční, respektive nevrací očekáváné výsledky.

Na otázku PROČ jsem nenašel žádnou smysluplnou odpověď. BUG?

Napsat komentář

This site uses Akismet to reduce spam. Learn how your comment data is processed.