如何控制在 Linq 中添加并提交到 parent 到 C# 中的 sql 的 Childs 的顺序?

how to control the order of the Childs added and submitted to a parent in Linq to sql in C#?

所以问题是我一直在为一个项目编码,在这个项目中,销售单 table A 有 3 种产品,在我们的概念中由 table B 表示。
逻辑表明,当我将产品 1,2 和 3 添加到代表 table A 的 object 时,它们应该按添加方式插入,即它应该是:
Table一个Children=> 1、 2、 3个
然而,在我们项目中的一些表格中,它的工作方式不同,有时我看到 children 被提交为 3 1 2,或 2 1 3....
正如我所说,这是一个拥有超过 9k 代码的表单的大项目,很遗憾我不能只为你们复制一些代码...
然而,我正在拼命寻找控制项目提交顺序的方法。
该项目是一个会计程序,销售单中的产品订单很重要...
简而言之,这就是正在发生的事情

Sales A = new A();
Foreach (var row in Datagridview.Rows)
{
//Note That the products in the datagrid are listed as 1,2,3
  A.Product = new Product{name = row.Cells[name.index].value.ToString()}
}
dc.Sales.InsertOnSubmit(A);
dc.SubmitChanges();

//但是它的提交是乱序的

您无法控制数据存储的任意顺序。当您 查询 显示 数据时,您 do 控制它的排序顺序。

您可以使用 .OrderBy() 扩展方法订购记录。像这样:

var salesRecord = db.Sales.Single(s => s.Id == someId);
foreach (var product in salesRecord.Products.OrderBy(p => p.SomeValue))
    DisplayProductToUser(product);

任何 IEnumerable<T> 都可以类似地排序:

var orderedSales = db.Sales.OrderBy(s => s.SomeValue);