EF в .NET 3.5 вставить дочерние строки в неправильном порядке - PullRequest
0 голосов
/ 11 мая 2011

Я использую Entity Framework в своем приложении ASP.NET (.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?

1 Ответ

1 голос
/ 11 мая 2011

Как я знаю, ни одна версия EF не гарантирует, что элементы будут вставлены в том же порядке, что и созданные в приложении.Если это работает в EFv4, скорее всего, это будет просто удача, потому что у меня есть много примеров, где порядок также отличается в EFv4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...