gpt4 book ai didi

asp.net-mvc - 使用 Linq 将相关表中的数据复制和插入到一组新的相关表中的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-04 07:11:45 24 4
gpt4 key购买 nike

我在做一个网页游戏,我使用 asp.net mvc、linqtosql。

我有 3 个存储默认游戏值的表:DefaultRegions、DefaultSubRegions 和 DefaultCountries。由于主键/外键,这 3 个表彼此相关。

当有人创建新游戏时,我需要将这些表的值复制到 3 个名为 Regions、SubRegions 和 Country 的表中。在这 3 个表中,保存了正在进行的游戏的值(添加了 GameId 以区分游戏)。

现在,我需要更新关系,因为主键显然发生了变化。

任何人都知道一种以有效方式实现这一目标的方法?

我的想法会涉及繁琐的 foreach 循环,也许其他人有想法?

编辑 看起来我最初的想法是最好的方法,谢谢

最佳答案

试试这个,它应该在提交时创建和关联所有新的自动生成的 ID。

var defaultRegions = from r in DefaultRegions
select r;

IList<Region> rlist = new List<Region>();
foreach(var dr in defaultRegions) {
var r = new Region {
Name = dr.Name };

foreach(DefaultSubRegion dsr in dr.DefaultSubRegions) {
var sr = new SubRegion {
Name = dsr.Name };

foreach(DefaultCountries dc in dsf.DefaultCountries) {
var c = new Country {
Name = dc.Name };

sr.Countries.Add(c);
}

r.SubRegions.Add(sr);
}

rlist.Add(r);
}

DataContext dc = new DataContext();
dc.Regions.InsertAllOnSubmit(rlist);
dc.Submit();

这应该对你有用,这是我发现的最简单的复制数据的方法。

关于asp.net-mvc - 使用 Linq 将相关表中的数据复制和插入到一组新的相关表中的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/227274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com