我正在尝试从我的映射器返回一个对象列表,并将它们保存到我的Entity Framework数据库中。 我的mapperclass看起来像这样
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个对象?如何添加对象列表?
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
答案 0 :(得分: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
};
}
}
答案 1 :(得分:0)
致电AddObject()
多次,并致电SaveChanges()
一次?