Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Refresh объекта EntityObject / 9 сообщений из 9, страница 1 из 1
18.03.2011, 12:09
    #37171813
Refresh объекта EntityObject
Добрый день. Я использую Entity Framework 4 для выборки данных из базы. Сохранение происходит через другой механизм. При добавлении нового объекта (не через контекст) в таблицу, необходимо обновлять контекст, но проблема в том, что если я пытаюсь сделать простую выборку и такой объект уже выбирался, он не обновляется. А необходимо обновить именно связанные с этим объектом EntityCollection, вопрос, как можно обновить объект, как будто его выборка происходит первый раз.
...
Рейтинг: 0 / 0
20.03.2011, 12:08
    #37174106
Refresh объекта EntityObject
Неужели никто с Entity Framework не работает(
...
Рейтинг: 0 / 0
20.03.2011, 13:03
    #37174136
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh объекта EntityObject
StoreWins
...
Рейтинг: 0 / 0
20.03.2011, 13:17
    #37174143
Refresh объекта EntityObject
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
20.03.2011, 13:18
    #37174145
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh объекта EntityObject
Пересоздай заново тогда...
...
Рейтинг: 0 / 0
20.03.2011, 13:28
    #37174156
Refresh объекта EntityObject
buredПересоздай заново тогда...

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

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
20.03.2011, 17:15
    #37174316
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh объекта EntityObject
редко юзаю ObjectQuery
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Refresh объекта EntityObject / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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