Ich habe ein Problem mit aC# linq Abfrage, wo ich die! = Operator verwenden, funktioniert es gut in SQL, aber wenn ich die gleiche Abfrage in schreiben C# gibt ein anderes Ergebnis zurück. Dies ist der korrekte Weg zu den Ergebnissen, bei denen die Tabelle eine Spalte nicht mit der Spalte der Tabelle b übereinstimmt. Bitte sehen Sie meine SQL-Abfrage unten und dann meine C# -Abfrage.C# Linq Abfrage wo Tabelle A Spalte ist nicht gleich/nicht Mathe Tabelle B Spalte Join
SELECT tba.ID,fa.accountnumber,tba.Account_Number,fa.new_legalname,tba.Legal_Name,fa.new_deliverystatusname, fa.new_deliverystatus,tba.Delivery_Charge
FROM [CRM_Embrace_Integration].[dbo].[CRM_Tarsus_Debtors_Accounts] tba
inner join CRM_MBT_GROUP.dbo.FilteredAccount fa
ON fa.accountnumber collate database_default = tba.Account_Number
where fa.new_legalname collate database_default != tba.Legal_Name
und die Linq Abfrage sieht wie folgt aus
var sqlJoinQuery = from accCRM in todaysCRMAccounts
join accSQL in todaysCRMViewAccounts
on accCRM.Account_Number equals accSQL.accountnumber
where accCRM.Legal_Name != accSQL.new_legalname
select new { accCRM.Legal_Name, accSQL.new_legalname };
Die SQL-Abfrage das richtige Ergebnis liefert, wie ich wo legal_name (Tabelle A) wollen ist nicht gleich legal_name (Tabelle B) ist die andere Tabelle .
Die Linq-Abfrage gibt ein falsches Ergebnis zurück, bitte helfen Sie.
Linq sieht OK aus. Könnten Sie einen Snapshot oder Dummy-Daten teilen? –
die sql macht ein '=' –
@MB Danke für die Erkennung dieses Tippfehlers, behoben. – Papi