SQL сохранение из List
Столкнул с проблемой записи в базу измененных или добавленных в список значений.
Создал List
private static List<Collection> _collections = new List<Collection>();
public static List<Collection> _Collections { get => _collections; set => _collections = value; }
public class Collection : IEquatable<Collection>
{
public int ID { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public string Description { get; set; }
public string Date { get; set; }
public override bool Equals(object obj)
{
if (obj == null) return false;
Collection objAsPart = obj as Collection;
if (objAsPart == null) return false;
else return Equals(objAsPart);
}
public override int GetHashCode()
{
return ID;
}
public string GetTitle()
{
return Title;
}
public string GetAuthor()
{
return Author;
}
public string GetDescription()
{
return Description;
}
public string GetDate()
{
return Date;
}
public bool Equals(Collection other)
{
if (other == null) return false;
return (this.ID.Equals(other.ID));
}
// Should also override == and != operators.
}
в него загружаю данные из базы:
DataBase.CollectionTableAdapters.GetStartseiteNewsTableAdapter getStartseiteNewsTable = new DataBase.CollectionTableAdapters.GetStartseiteNewsTableAdapter();
if(NewsCollection._Collections.Count != 0)
{
}
else
{
foreach(DataRow dataRow in getStartseiteNewsTable.GetData())
{
NewsCollection._Collections.Add(new NewsCollection.Collection()
{
ID = (int)dataRow["ID"],
Title = dataRow["Title"].ToString(),
Author = dataRow["Author"].ToString(),
Description = dataRow["Description"].ToString(),
Date = dataRow["Date"].ToString(),
});
}
}
изменяю где-то в коде, сам список, к примеру текст (изменения работают), а после хочу эти измения записать в базу.. но столкнулся с такой проблемой что следующий код принимает только datatable, dataset или datarow. Как конвертировать правильно List в datarow/datatable/dataset?
public static void SaveEditedNews()
{
DataBase.CollectionTableAdapters.GetStartseiteNewsTableAdapter getStartseiteNewsTable = new DataBase.CollectionTableAdapters.GetStartseiteNewsTableAdapter();
getStartseiteNewsTable.Update( Collection);
}