「FileObjectMetaData」テーブルで参照されていないすべての「タグ」レコードを CodeFluent でロードしようとしています。基本的に、この投稿のクエリを CodeFluent に変換します。
他のテーブルから参照されていない行を削除するエレガントな方法
私はこのテーブル関係を持っています:
どうすればこの効果を達成できるでしょうか?
編集 1:
CodeFluent モデルでは多対多の関係であるため、実際に生成された SQL テーブルには、以下を含む中間リンク テーブルがあります。
- タグ_ID
- FileObjectMetaData_ID
Tag および FileObjectMetaData テーブル自体は、相互に直接外部キーを持っていません。
編集 2:
最終的に、CodeFluent CFQL を使用する確実な方法がないように思われるため、これには C# アプローチを採用することにしました。
public static TagCollection LoadUnusedTags()
{
TagCollection unusedTags = new TagCollection();
TagCollection allTags = TagCollection.LoadAll();
foreach (Tag aTag in allTags)
{
FileObjectMetaDataCollection fileObjectMetaDatas = FileObjectMetaDataCollection._LoadByTag(aTag.Name);
if (fileObjectMetaDatas.Count < 1)
unusedTags.Add(aTag);
}
if (unusedTags.Count < 1)
return null;
return unusedTags;
}