以下是對象和.txt文件的示例類,我使用filehelpers創建此類,然後使用FileHelpers讀取.txt文件,並將此文件轉換爲這些對象,然後將它們放入List中。如何將數據庫中的行映射到對象列表中?
.txt文件:
1122233
4455566
實施例類:
[FixedLengthRecord(FixedMode.AllowLessChars)]
public class Example
{
[FieldFixedLength(2)]
public string first;
[FieldFixedLength(3)]
public string second;
[FieldFixedLength(2)]
public string third;
}
與filehelpers讀該給我Example.The第一Example.first值的2個對象是 '11' 等 我通過將List轉換爲DataTable並使用SqlBulkCopy將數據推送到數據庫中。這一切順利。
數據庫中的表只包含3列(varchar)與列名;第一,第二和第三。
問題是當我嘗試將數據從數據庫中獲取背部並將其映射回一個名單,我用下面的代碼(使用小巧玲瓏)本:
IDbConnection connection = new SqlConnection(connectionString);
var rows = connection.Query<Example>("select * from examplesTable");
foreach (Example e in rows)
{
examples.Add(e); //List<Example> examples
}
這將返回正確的金額的行,但是如果我嘗試從對象中獲取數據,它將包含空數據。我無法弄清楚我做錯了什麼。
「但是,如果我嘗試從對象中獲取數據」 - 該代碼的哪一部分引用? – Hughnited
@Hughnited我測試這與添加MessageBox.Show(e.First);到foreach循環,但它什麼也沒有顯示(空窗口)。我也嘗試將該列表轉換爲DataTable並將其推回數據庫,結果是它推送了正確數量的行,但數據全爲空。 – RedZerg
在foreach中:examples.Add(e); MessageBox.Show(e.First); //返回空白窗口。 – RedZerg