XDocument 使用 Linq 和 Entity Framework 将 XML 数据插入 SQL
本文关键字:XML 数据 插入 SQL Framework 使用 Linq Entity XDocument | 更新日期: 2023-09-27 17:56:02
目前以下两个函数都可以工作。 第一个函数是读取 NFL PLayers 的 XML 表,并将该 XML 数据转换为一堆球员(var 球员),然后第二个函数从第一个函数中获取数据,并将它们发送到我使用 EF6 创建的表中并更新数据库。 我的问题是,有没有更好的方法可以做到这一点?
var players = from p in X.Descendants("FantasyPlayer") select new
{
id = p.Element("PlayerID").Value,
firstname = p.Element("Name").Value,
team = p.Element("Team,").Value
};
foreach (var p in players)
{
var nflplayer = new NFLPlayer();
nflplayer.ID = Convert.ToInt32(p.id);
nflplayer.FirstName = p.firstname;
nflplayer.Team = p.team;
db.NFLPlayers.Add(nflplayer);
}
db.SaveChanges();
我觉得应该有一种方法可以一步到位地完成这一切,但还没有弄清楚......如果有人可以提出更好的方法或替代方法,我正在倾听。
试试这个
foreach(var player in X.Descendants("FantasyPlayer"))
{
var nflplayer = new NFLPlayer() {
ID = Convert.ToInt32(player.id),
FirstName = player.firstname,
Team = player.team
});
db.NFLPlayers.Add(nflplayer);
}
你受到两件事的限制:
1. 初始数据采用 xml 格式
2. 数据必须以数据库架构提供的格式保存
所以我在这个任务中看到至少三个步骤:
1. 读取初始数据
2. 准备要保存到数据库的数据(从 xml 转换为数据库模型)
3. 保存到数据库
您当前的逻辑正是您需要根据规范执行的操作。
所以现在你只能优化你的代码,如果你想这样做。