1

我正在尝试从我的映射器返回一个对象列表并将它们保存到我的实体框架数据库中。我的映射器类看起来像这样

    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;
    }

}

我的数据访问类中的问题是我不知道如何将对象保存到我的数据库中,数据访问类中的方法如下所示

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

但是 AddObject 只能添加 1 个对象?如何添加对象列表?

Visual Studio 给了我错误代码

错误 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 个对象实例而不是整个列表)

sendDays 方法:

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()多次并调用SaveChanges()一次?

于 2012-04-04T12:40:31.117 回答