我犯了一个大错,现在我必须找到解决办法。这是我第一个使用 fluent nhibernate 的项目,我用这种方式映射了一个对象:
public PosteCandidateMap()
{
Id(x => x.Id);
Map(x => x.Candidate);
Map(x => x.Status);
Map(x => x.Poste);
Map(x => x.MatchPossibility);
Map(x => x.ModificationDate);
}
所以整个 Poste 对象都在数据库中,但我只需要 PosteId。现在我必须找到一个帖子的所有候选人,所以当我查看我的存储库时,我有:
return GetAll().Where(x => x.Poste.Id == id).ToList();
但这非常慢,因为它加载了所有项目,我们现在表中有 1500 多个项目,起初项目不应该那么大(也不是很大的薪水)。现在,我正在尝试使用 Criterion ou Linq 执行此操作,但它不起作用,因为我的 Poste 在 BLOB 中。
无论如何我可以轻松地改变它吗?
非常感谢您的帮助!
最佳答案
好的,所以我所做的是创建一个新的对象/表/存储库,对我的旧数据做一些处理,在只包含 ID 的新对象中解析它,将它保存到 BD 而不是全部更改我的旧存储库到我的新存储库并完成工作!
希望对您有所帮助!
关于c# - fluent nhibernate 的大问题,c# 和 MySQL 需要在 BLOB 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2670715/