0
A
回答
0
class YourDatum
{
int Id { get; set; }
string Value1 { get; set; }
string Value2 { get; set; }
public bool Match(string term)
{
return Value2.ToUpperInvariant() == term.ToUpperInvariant();
}
}
var cachedResults = new Dictionary<int, YourDatum>();
//your database calls go here
foreach (var dbRow in dbRows)
{
cachedResults.Add(
idFromDb,
new YourDatum {Id=idFromDb, Value1=valueFromDb1, Value2=valueFromDb2});
}
//find a match in the results later on...
string searchTerm = "abcdef";
List<YourDatum> matches=
(from datum in cachedResults where
datum.Match(searchTerm) select datum).ToList();
1
如果您想要快速和骯髒地執行操作,您可以返回一個DataTable。否則,如果數據表示某些內容,則可以創建自己的類來保存對象上三個屬性中的三個值。
public class MyDataObject
{
public string Value1 { get; set; }
public string Value2 { get; set; }
public string Value3 { get; set; }
public bool MatchesSearchTerm(string term)
{
return Value2.Equals(term, StringComparer.OrdinalIgnoreCase);
}
}
0
什麼是「搜索項」?爲什麼你需要首先存儲行?
假設您有充分理由在本地存儲結果,並且您只關心「第二列中的任何值」,則可能需要探索存儲List<dataTypeOfSecondColumn>
。
0
public class QueryCache
{
public class DataObject
{
public bool Data1 { get; set; }
public string Data2 { get; set; }
public int Data3 { get; set; }
}
Dictionary<string, DataObject> _cache = new Dictionary<string, DataObject>();
public void AddToCache(DataObject obj_)
{
_cache.Add(obj_.Data2, obj_);
}
public bool ExistsInCache(string searchTerm_)
{
return _cache.ContainsKey(searchTerm_);
}
public DataObject this[string searchTerm_]
{
get
{
return _cache[searchTerm_];
}
}
}
相關問題
- 1. 我需要一個存儲過程嗎
- 2. 需要兩個來自存儲過程的返回值在c#
- 3. 從C#中的存儲過程,需要一個返回值
- 4. 需要存儲過程的返回值
- 5. 將參數添加到sqldatasource,我應該如何通過它們來在asp.net中執行我的存儲過程
- 6. 在VB.NET/SQL中執行存儲過程時,我們是否應該添加「EXEC」?
- 7. 存儲過程返回FALSE在vb.net
- 8. 我應該如何臨時將行存儲在存儲過程中?
- 9. 存儲過程返回一個臨時表,我需要轉換成CSV文件
- 10. 我的存儲過程的返回值
- 11. 返回三列從存儲過程
- 12. 我應該添加如果存在我的SQL存儲過程?
- 13. 需要創建一個存儲過程
- 14. MySQL存儲過程沒有返回值它應該
- 15. 我們可以從另一個存儲過程調用存儲過程嗎?
- 16. 我們應該使用哪種工具來針對PostgreSQL執行存儲過程
- 17. 爲什麼我們需要使用存儲過程?
- 18. 我需要在多個記錄上運行存儲過程
- 19. 使存儲過程返回一個VarChar
- 20. 存儲過程返回一個int
- 21. 如何在VB.NET執行存儲過程
- 22. 我們是否可以從存儲過程返回空值
- 23. 需要在存儲過程
- 24. 我應該如何測試返回XML的「存儲庫」?
- 25. Linq或存儲過程 - 我應該選擇哪一個?
- 26. 我可以從存儲過程返回一個varchar(max)嗎?
- 27. 我存儲過程
- 28. 存儲過程中的多個存儲過程,只返回第一個存儲過程輸出變量
- 29. 我需要幫助來加速我的存儲過程的執行時間
- 30. 每行返回執行存儲過程?
爲什麼不具有三個屬性的三個值加載到一個靜態類型的對象? (並且,由於您不清楚行/列,如果有多行,只需將它們加載到此對象的IEnumerable <>'中。) – David 2011-03-15 18:24:27
因爲我需要緩存結果,該結果工作正常兩個值,所以我用了一個字典,現在我需要三個vals – William 2011-03-15 18:26:55
沒有理由不能在應用程序的任何層緩存任何數據。你的緩存工作如何?如果您需要緩存對象,請緩存該對象。除非緩存系統被破壞,否則對象是Dictionary還是任何其他對象應該沒有區別。我想所有它需要是可序列化的。 – David 2011-03-15 18:38:09