Selamlar ;

.NET'de kod yazarken çoğu zaman farklı entity mappingleri içerisinde yer alan fieldları bir şekilde presentation layer'a taşımak isteyebilirsiniz.Collection'ları fill ettiğiniz filler metodunuzun içerisinde IDataReader objenizin içerisinde ilgili column'un olup olmadığını anlamak için aşağıdaki gibi bir fonksiyon kullanmak bizi rahatlatacak ve overload olmuş requestlerden doğabilecek olan crashlerin bir şekilde önüne geçmiş olabileceğiz.

 

19 private bool DataReaderHasColumn(IDataReader reader, string columnName)

20 {

21     reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= '" + columnName + "'";

22     return (reader.GetSchemaTable().DefaultView.Count > 0);

23 }

Kullanımı : 

 

18 ...

19 if (DataReaderHasColumn(dr, "BoruNo"))

20 {

21     entity.BoruNo = Convert.ToString(dr["BoruNo"]);

22 }

23 ...

Sevgiler.

E2