我在ASP.NET应用程序中使用Entity Framework(.NET 3.5) 我的模型很简单:
Order (Id)
Product (Id, OrderId)
Category (Id, ProductId, NameA, NameB)
我的代码如下:
StoreEntity db = new StoreEntity();
Order order = GetOrder(1);
Product product = new Product();
product.Categories.Add(new Category() { NameA = "1" });
product.Categories.Add(new Category() { NameA = "2" });
product.Categories.Add(new Category() { NameA = "3" });
product.Categories.Add(new Category() { NameB = "A" });
product.Categories.Add(new Category() { NameB = "B" });
product.Categories.Add(new Category() { NameB = "C" });
order.Products.Add(product);
db.SaveChanges();
问题是数据库类别的顺序错误,即:
CategoryId,ProductId,NameA,NameB
1,1,3,NULL
2,1,2,NULL
3,1,1,NULL
4,1,NULL,C
5,1,NULL,B
6,1,NULL,A
当我切换到.NET 4时,行顺序正确。有没有办法在3.5中解决这个问题?
答案 0 :(得分:1)
据我所知,EF版本不会确保项目的插入顺序与应用程序中创建的顺序相同。如果它在EFv4中有效,那很可能只是运气,因为我有很多例子,其中EFv4的顺序也不同。