我有这个型号:
X = [1 4 6 90 10 32 433 69]
M = 4
newX = [0 0 0 90 0 32 433 69]
这个DbContext:
public class FinalizedWebinarAttendeesList
{
public List<FinalizedWebinar> Webinars { get; set; }
}
public class FinalizedWebinar
{
public int ParticipantID { get; set; }
public bool AffidavitRecvd { get; set; }
public string EventCode { get; set; }
}
我希望将整个FinalizedWebinarAttendeesList发送给一个函数而不必发送每个函数(如下所示)。 这可能吗?
public class webinarFinalizedAttendeesListDbContext : DbContext
{
public webinarFinalizedAttendeesListDbContext(string nameOrConnectionString) : base(nameOrConnectionString) { }
public DbSet<FinalizedWebinar> WebinarFinalAttendee { get; set; }
}
答案 0 :(得分:0)
当然,为什么不呢?调整此示例以更好地满足您的需求:
public void InsertAttendee(List<FinalizedWebinar> webinars)
{
using (webinarFinalizedAttendeesListDbContext context = new webinarFinalizedAttendeesListDbContext(connectionString))
{
foreach(var webinar in webinars) {
context.WebinarFinalAttendee.Add(webinar);
}
context.SaveChanges();
}
}
实体框架中的上下文将记住所跟踪对象的所有更改,并在保存时立即应用它们。您可以在上下文中执行任意数量的操作。
注意:将此推向极端可能会对性能产生不良影响,但只要您做了大量合理的工作,一切都应该没问题。与往常一样,如果您担心出现问题,请测量性能影响。
答案 1 :(得分:0)
你想要像DbSet.AddRange()这样的东西吗?您可以将项添加到IEnumerable,并将IEnumerable添加到您的DbSet。
答案 2 :(得分:0)
DbSet<T>
有一个.AddRange(IEnumerable<T>)
方法可以使用:
context.WebinarFinalAttendee.AddRange(attendees);
https://msdn.microsoft.com/en-us/library/system.data.entity.dbset.addrange(v=vs.113).aspx
的更多信息