Прямая загрузка xml
https://www.mssqltips.com/sqlservertip/5707/simple...
Выполнение кода
using(var context = new SampleContext())
{
var commandText = "INSERT Categories (CategoryName) VALUES (@CategoryName)";
var name = new SqlParameter("@CategoryName", "Test");
context.Database.ExecuteSqlCommand(commandText, name);
}
Десириализация, без лишних движений
https://docs.microsoft.com/ru-ru/dotnet/api/system...
В общем вариантов куча.
public class SqlItem
{
public SqlItem() { }
public SqlItem(XmlItem item)
{
Name = item.Name;
}
public string Name { get; set; }
}
using var ctx = new ApplicationDbContext(new Microsoft.EntityFrameworkCore.DbContextOptions<ApplicationDbContext>());
var serializer =new XmlSerializer(typeof(XmlItem[]));
var filename = "test.xml";
var fs = new FileStream(filename, FileMode.OpenOrCreate);
var reader = new StreamReader(fs);
var xmls = (XmlItem[])serializer.Deserialize(reader);
foreach (var item in xmls)
ctx.Items.Add(new SqlItem(item));
ctx.SaveChanges();