我正在尝试使用 CodeFluent 加载“FileObjectMetaData”表中未引用的所有“标记”记录。基本上将查询从这篇文章转换为 CodeFluent:
我有这个表关系:
我怎样才能达到这种效果?
编辑一:
在 CodeFluent 模型中是多对多关系,因此在实际生成的 SQL 表中,有一个中间链接表,其中包含:
- 标记_ID
- FileObjectMetaData_ID
Tag 和 FileObjectMetaData 表本身没有直接相互关联的外键。
编辑二:
最后,我选择了 C# 方法,因为似乎没有使用 CodeFluent CFQL 的可靠方法。
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;
}