1

マッパーからオブジェクトのリストを返して、EntityFrameworkデータベースに保存しようとしています。私のマッパークラスは次のようになります

    class TimereportMappers
    {        
    public List<Days> dayMap(List<Day> days)
    {
        List<Days> output = new List<Days>();

        foreach (Common.Day input in days)
        {
            output.Add(new Days()
            {
                Date = input.Date,
                Hour = input.Hours
            });
            //output.Date = input.Date;
            //output.Hour = input.Hours;
        }

        return output;
    }

}

dataaccess-classの問題は、オブジェクトをデータベースに保存する方法がわからないことです。dataaccess-classのメソッドは次のようになります。

     public void sendDays(List<Common.Day> days)
        {
            TimereportMappers mapper = new TimereportMappers();
            context.Days.AddObject(mapper.dayMap(days));         
            context.SaveChanges();
        }

しかし、AddObjectは1つのオブジェクトしか追加できませんか?オブジェクトのリストを追加するにはどうすればよいですか?

VisualStudioからエラーコードが表示されます

エラー2引数1:「System.Collections.Generic.List」から「Timereport.BusinessLogic.Data_Access.Days」に変換できませんC:\ Users \ widde \ Documents \ Visual Studio 2010 \ Projects \ Timereport \ Timereport.BusinessLogic\TimereportDataAccess。 cs 43 37 Timereport.BusinessLogic

エラー1'System.Data.Objects.ObjectSet.AddObject(Timereport.BusinessLogic.Data_Access.Days)'に最適なオーバーロードされたメソッドの一致には、無効な引数がいくつかありますC:\ Users \ widde \ Documents \ Visual Studio 2010 \ Projects \ Timereport \ Timereport .BusinessLogic \ TimereportDataAccess.cs 43 14 Timereport.BusinessLogic

4

2 に答える 2

1

これは機能しますか?(明らかにこれをテストすることはできませんが、アイデアは、リスト全体ではなく、一度に 1 つのオブジェクト インスタンスのみを追加することです)

メソッド:

public void sendDays(List<Common.Day> days)
{
    TimereportMappers mapper = new TimereportMappers();

    foreach (var day in days)
    {
        context.Days.AddObject(mapper.dayMap(day));
    }

    context.SaveChanges();
}

TimereportMappers クラス:

class TimereportMappers
{
    public Days dayMap(Day input)
    {
        return new Days
        {
            Date = input.Date,
            Hour = input.Hours
        };
    }

}
于 2012-04-04T12:53:58.867 に答える
0

AddObject()複数回呼び出して1回呼び出しSaveChanges()ますか?

于 2012-04-04T12:40:31.117 に答える