другой вопрос Entity Framework (ADO.NET) от меня.Я использую EF1 (выбора там нет) и имею базу данных MySQL в качестве бэкэнда.
Простой вопрос, на который я не могу найти удовлетворительный ответ:
Что именно у меня естьделать для загрузки?То есть, когда у меня есть сущность, и я хочу перечислить через ее дочерние элементы, скажем, у меня есть сущность "Группа", и у нее есть дочерняя "Пользователь", и я хочу сделать "из n в g.Users, где n.UserID =4 выберите n ", мне сначала нужно вызвать g.Users.Load ();
Это немного раздражает, потому что когда я делаю запрос к незагруженной коллекции, я ожидаю, что EF загрузитсяэто автоматически - по крайней мере, выдает какое-то исключение, а не просто возвращает 0 результатов?
Другой случай, когда мне приходится заботиться о загрузке: у меня есть запрос:
from n in Users where n.Group.Name == "bla" select n
По какой-то причинедает сбой, давая нулевой указатель для n.Group, даже если n.GroupID (ключ для группы) установлен правильно.Кроме того, когда я выполняю Server.Groups.Load () (группы являются дочерними элементами одного сервера), это работает.
Существует ли какая-либо конкретная политика относительно того, когда вызывать Load () из какой коллекции?
Еще раз спасибо, Майкл