powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Refresh объекта EntityObject
9 сообщений из 9, страница 1 из 1
Refresh объекта EntityObject
    #37171813
Добрый день. Я использую Entity Framework 4 для выборки данных из базы. Сохранение происходит через другой механизм. При добавлении нового объекта (не через контекст) в таблицу, необходимо обновлять контекст, но проблема в том, что если я пытаюсь сделать простую выборку и такой объект уже выбирался, он не обновляется. А необходимо обновить именно связанные с этим объектом EntityCollection, вопрос, как можно обновить объект, как будто его выборка происходит первый раз.
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174106
Неужели никто с Entity Framework не работает(
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174136
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StoreWins
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174143
buredStoreWins
Пробовал,не работает. Объект остаётся старый(

Вот код:

T result = default(T);
try
{
ObjectQuery<T> objectQuery = _connection.CreateQuery<T>(
String.Format("SELECT VALUE c FROM {0} AS c WHERE c.OID = @OID", typeof(T).Name),
new ObjectParameter("OID", args.OID));
var resultQuery = objectQuery.Execute(args.Option);
result = resultQuery.FirstOrDefault();

_connection.Refresh(RefreshMode.StoreWins, result);

return result;
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174145
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пересоздай заново тогда...
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174156
buredПересоздай заново тогда...

Да я бы с радостью, только в дальнейшем работа идёт скучей других объектов из бд, при малейшей попытке сослаться на них, программа валится с ошибкой о том, что объект был создан в другом контексте.
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174265
Ну неужели нет способа в ObjectContext в объекте со связью один ко многим обновить список этих объектов???????!!!!!!!
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174311
А проблема между тем решается достаточно просто:

ObjectQuery<T> objectQuery = _connection.CreateQuery<T>(
String.Format("SELECT VALUE c FROM {0} AS c WHERE c.OID = @OID", typeof (T).Name),
new ObjectParameter("OID", args.OID));
var resultQuery = objectQuery.Execute(MergeOption.NoTracking);
result = resultQuery.FirstOrDefault();
object value = null;
if (_connection.TryGetObjectByKey(((IEntityWithKey)result).EntityKey, out value))
{
_connection.Detach(value);
_connection.Attach((IEntityWithKey) result);
}
return result;
...
Рейтинг: 0 / 0
Refresh объекта EntityObject
    #37174316
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
редко юзаю ObjectQuery
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Refresh объекта EntityObject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]