2010-04-19 57 views
1

我犯了一個大錯誤,現在我必須找到一個解決方案。這是我的第一個項目與功能NHibernate的工作,我映射對象是這樣的:流利的nhibernate,c#和MySQL需要在BLOB中搜索的大問題

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); 
    } 

所以整個郵政對象在數據庫中,但我會只需要在PosteId。現在,我必須找到一個郵政的所有考生,所以當我看到在我的倉庫,我有:

return GetAll().Where(x => x.Poste.Id == id).ToList(); 

但是,這是非常緩慢的,因爲它加載的所有項目,我們現在已經在表中1500餘項,起初對項目來說不應該是那麼大(也不是很大的薪水)。現在我試圖用標準或Linq來做到這一點,但由於我的Poste在BLOB中,所以它不起作用。

無論如何我可以輕易改變這個嗎?

非常感謝您的幫助!

回答

0

好的,我所做的就是創建一個新的Object/table/repository,對我的舊數據做一些foreach,在新對象中解析它只包含Ids,將它保存到BD而不是改變我所有的舊紀念品都歸我的新倉庫和工作完成!

希望它有幫助!

+0

難道你不能'得到(id)'?似乎是一種自然的方式來做到這一點 – Shagglez 2013-02-08 15:12:46