c# - fluent nhibernate 的大问题,c# 和 MySQL 需要在 BLOB 中搜索

标签 c# mysql nhibernate mapping fluent

我犯了一个大错,现在我必须找到解决办法。这是我第一个使用 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/

相关文章:

nhibernate - 使用 NHibernate 删除表中所有行的最佳方法?

c# - 如何格式化单元格文本标签的某些单词

c# - C# 中的 && 运算符重载和赋值 - 说明?

c# - Linq 从两个表中选择按列表排序

c# - finally block 中的多个操作

mysql - 在 MySQL 中比较字符串与 'greater than' 和 'less than' 是否安全?

mysql - 如何保证嵌套选择查询的效率?

sql - 如何调试具有有效语法、执行但不返回任何结果的查询?

NHibernate 延迟非常高

NHibernate二级缓存在没有缓存配置的情况下缓存实体