Ich habe die seltsamsten Sortierfehler in LINQ-SQL. Ich habe diese Abfrage, die eine Left-Outer-Join auf 2 Parameter ausführt. Aus der Abfrage möchte ich eine Spalte für die linke verbundene Tabelle extrahieren, wenn sie NICHT null ist, und andernfalls aus der ersten Tabelle. Das betreffende Feld ist ein char und beide Tabellen haben die gleiche Sortierung. Der LINQ-Code wird unten angezeigt, und ich habe die Zeile, die den Fehler verursacht, fett gedruckt.
from contentList in dc.ContentList
join portalPriceClass in dc.PortalContentPriceClass
on contentList.ContentID equals portalPriceClass.ContentID
into ppc
from portalSpecificPriceClass in ppc.Where(portalPriceClass =>
portalPriceClass.PortalID==portalId).DefaultIfEmpty()
where contentListPriority.PortalID == portalId
select new
{
ID = content.ID,
PriceClass = (portalSpecificPriceClass == null) ? contentGame.PriceClass : portalSpecificPriceClass.PriceClass
};
Leider erhalte ich die folgende Fehlermeldung und kann keine Erklärung dafür finden:
System.Data.SqlClient.SqlException: Die implizite Konvertierung eines char-Wertes in char kann nicht durchgeführt werden, da die Sortierung des Wertes aufgrund eines Sortierkonflikts nicht aufgelöst ist.