ObjectSet.AddObject (T) проблема? - PullRequest
       44

ObjectSet.AddObject (T) проблема?

2 голосов
/ 04 августа 2011

ObjectSet.Single (предикат) не работает (а также методы Where () и toList ()), если я не напишу это так:

ObjectSet.Cast<TEntity>().Single<TEntity>(predicate)

Но я не знаю, что делать, чтобы решить проблему с методами AddObject и DeleteObject:

public void Add<TEntity>(TEntity entity)
    {
        ObjectSet.AddObject(entity);
    }

Сообщение об ошибке говорит мне, что «сущность» является неверным аргументом. Проблема связана с EF 4.1?

1 Ответ

2 голосов
/ 04 августа 2011

Вот несколько фрагментов из моего общего репозитория:

public void Add<K>(K entity) where K : class
{            
    context.CreateObjectSet<K>().AddObject(entity);
}

public K SingleOrDefault<K>(Expression<Func<K, bool>> predicate) where K : class
{
    K entity = context.CreateObjectSet<K>().SingleOrDefault<K>(predicate);

    return entity;
}

Пожалуйста, смотрите ссылку ниже: http://msdn.microsoft.com/en-us/library/dd382944.aspx

Редактировать: Если у вас уже естьсозданный ObjectSet, тогда ваш класс уже определяет TEntity, поэтому ваш метод должен быть настроен следующим образом:

public void Add(TEntity entity)
{
    ObjectSet.AddObject(entity);
}

Вы также должны иметь возможность выполнить настройку, аналогичную вашему методу Single (), не должно быть необходимости вотбрасывать.

...