在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文件并设置我需要的订单。但即使这样也无济于事。实体模型设计者不遵循此顺序,看起来它是随机拾取订单。
答案 0 :(得分:0)
我从不使用Item.CreateItem()
方法来解决这个问题。您可以 use custom T4 to control codegen,但不使用这些方法会更容易。