C#アプリケーションではGUIDを比較する必要があります。データベースではUPPERCASEですが、コードではLOWERCASEです。DBSetで動作しているC#のリスト項目ではない文字列比較
私はこれを文字列で処理できることを理解しています。コンパイルまたは文字列。次のシナリオを理解したいと思います。ライン後
var myInstanceId ='GUID';
完璧な比較、
var applicationSettings = db.ApplicationSettingsSet
.Where(x => x.myInstanceId == myInstanceId).ToList();
が原因db.ApplicationSettingsSetにかもしれない
public DbSet<ApplicationSetting> ApplicationSettingSet { get; set; }
EF DBのエンティティである。しかしどういうわけか、次のコードどこ
applicationSettingCategory.ApplicationSettings = applicationSettings
.Where(x => x.myInstanceId == myInstanceId);
動作しません
5月現在の比較は、DBSetにないApplicationSettings &のリストで行われます。
この現象の実際の理由は何ですか?
'KcsInstanceId'のデータ型は何ですか、それは' GUID'ですか? – Habib
おそらく、データサーバーは大文字と小文字を区別しません。 SQL Serverを使用している場合、それが問題になります。 –
両方とも 'Guid'型である限り、データ変換については心配する必要はありません – techspider