我犯了一个大错误,现在我必须找到解决方案。这是我第一个使用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多个项目,一开始的项目本来就不应该那么大(也不是很高的薪水)。现在,我尝试使用条件ou Linq来执行此操作,但是由于我的Poste在BLOB中,因此它不起作用。

无论如何,我可以轻松更改它吗?

非常感谢您的帮助!

最佳答案

好的,所以我要做的是创建一个新的对象/表/存储库,对我的旧数据进行一点foreach,在新对象中解析它,仅包含Ids,然后将其保存到BD,而不是将我所有的oldReposotory更改为我的新资料库和工作完成了!

希望能帮助到你!

关于c# - 流利的NHibernate,C#和MySQL的大问题需要在BLOB中进行搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2670715/

10-11 06:38