LINQ to Entities - 如何保持列顺序?

时间:2010-10-15 17:04:27

标签: linq-to-entities

在LINQ to Entities实体模型中(由.edmx文件支持),有时列表顺序会发生变化。在您编辑表结构(添加或删除列,重命名它们等)之后,可能会发生这种情况。因此,自动生成的Create方法会发生更改,现有代码也会中断。

实施例: 你有一个名为Item的实体。它有ColA,ColB,ColC列。实体模型设计器生成方法

Item.CreateItem(ColA,ColB,ColC)

给你。 经过一些更改(顺便说一句,与ColA,ColB,ColC无关!)CreateItem方法现在是

Item.CreateItem(ColB,ColA,ColC)

因此,所有调用CreateItem方法的现有代码都会失败。很烦人。 有人找到了如何保持列顺序的方法吗?或者至少如何控制它?我试图直接编辑.edmx文件并设置我需要的订单。但即使这样也无济于事。实体模型设计者不遵循此顺序,看起来它是随机拾取订单。

1 个答案:

答案 0 :(得分:0)

我从不使用Item.CreateItem()方法来解决这个问题。您可以 use custom T4 to control codegen,但不使用这些方法会更容易。