0

最近、ファイルヘルパーを使い始めました。

FileHelperEngine engine = new FileHelperEngine(typeof(Customer));
Customer[] customers = (Customer[]) engine.ReadFile(@"..\Data\CustomersDelimited.txt");

ファイルからデータを読み取る代わりに、SQL サーバー テーブルからデータを読み取ってから、データをフォーマットしてファイルに書き込む必要があります。

このシナリオに参加した方がいらっしゃいましたらお知らせください。

4

2 に答える 2

0

あなたの質問にはあまり詳細がありません。ただし、私が収集したのは、現在使用しているということです

http://filehelpers.sourceforge.net/

フラットファイルとの間でデータレコードを読み書きします。

SQL Server データベースの読み取りと書き込みを開始する最も簡単な方法は、Entity Framework を使用することです。具体的には、Code First アプローチを使用してください。それはあなたが今していることに最も近いでしょう。

開始するには、http://msdn.microsoft.com/en-us/data/ef.aspxをご覧ください。

Entity Framework Code First を使用すると、現在フラット ファイルで行っているよりもはるかに複雑にすることなく、データベースとの間でオブジェクト インスタンスの読み取りと書き込みを行うことができます。

于 2012-07-29T17:41:51.963 に答える
0

File Helpers は、Web サイトで例を提供しています。

コードは次のようになります (リンクされた例に基づく)

SqlServerStorage storage = new SqlServerStorage(typeof(OrdersVerticalBar)); 

storage.ServerName = "MyServerName"; 
storage.DatabaseName = "Northwind"; 

storage.FillRecordCallback = new FillRecordHandler(FillRecordOrder);   

メソッドは次のFillRecordsようになります

protected void FillRecordOrder(object rec, object[] fields) 
{ 
    OrdersVerticalBar record = (OrdersVerticalBar) rec; 

    record.OrderID = (int) fields[0]; 
    record.CustomerID = (string) fields[1]; 
    record.EmployeeID = (int) fields[2]; 
    record.OrderDate = (DateTime) fields[3]; 
    record.RequiredDate = (DateTime) fields[4]; 

    if (fields[5] != DBNull.Value) 
         record.ShippedDate = (DateTime) fields[5]; 
    else 
         record.ShippedDate = DateTime.MinValue; 

    record.ShipVia = (int) fields[6]; 
    record.Freight = (decimal) fields[7]; 
} 

次に、以下を実行して、コンテンツを出力ファイルに直接書き込むことができます。

FileDataLink.EasyExtractToFile(storage, "outfile.txt"); 
于 2012-07-30T13:27:42.610 に答える