在我的一個項目中,我有很多用於數據訪問的類,但由於從數據讀取器中檢索數據的代碼,這些類變得非常龐大。部分類和數據訪問代碼
我的代碼通常是這樣的:
// Execute the data reader
using (DbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
obj = this.FillDataReader(reader);
objlist.Add(obj);
}
}
internal SomeObject FillDataReader(IDataReader dr)
{
SomeObject obj = new SomeObject();
if (!dr.IsDBNull(dr.GetOrdinal("objectID")))
{
obj.ID = dr.GetInt32(dr.GetOrdinal("objectID"));
}
return obj;
}
一些填充方法輕鬆命中400+線,所以有這些分離出一個體面的方式?部分班級可以接受嗎?在理想的世界中,我會使用ORM,但不幸的是我無法承擔學習如何使用ORM的時間。
同意 - 當然,有些ORM需要很長時間才能學習,但如果在編寫400行方法的時間內無法學習LINQ to SQL,我只能說...呃,你必須快速寫出400行的方法! ** grin ** – itowlson 2009-10-26 11:03:54
我不同意LinqToSql或任何其他ORM的快速和/或易於學習。大多數學習LinqToSql的人都在解決DataContext生命週期管理問題,更新之前的分離以及許多其他常見的「ORM」問題。 – 2009-10-26 11:42:15
我有一個我寫的代碼給我的應用程序,所以編寫cookie切割代碼並不是什麼大問題。 我不介意切換到實體框架,但我們很可能不會升級到VS2010很長一段時間。 – 2009-10-26 12:28:29