IDbAsyncEnumerable не реализован. ⇐ C#
IDbAsyncEnumerable не реализован.
I am trying to make a FakeDbContext with a FakeDbSet for unit testing.
But I get the following error (see below). I am extending DbSet so normally IDbAsyncEnumerable should be implemented. And when I implement it, it says that it has no use.
Exception:
System.InvalidOperationException: The source IQueryable doesn't implement IDbAsyncEnumerable. Only sources that implement IDbAsyncEnumerable can be used for Entity Framework asynchronous operations. For more details see http://go.microsoft.com/fwlink/?LinkId=287068.
FakeDbSet class:
public abstract class FakeDbSet : DbSet, IEnumerable, IQueryable, IDbAsyncEnumerable where TEntity : Entity, new() { #region Private Fields private readonly ObservableCollection _items; private readonly IQueryable _query; #endregion Private Fields protected FakeDbSet() { _items = new ObservableCollection(); _query = _items.AsQueryable(); } public Expression Expression { get { return _query.Expression; } } public Type ElementType { get { return _query.ElementType; } } public IQueryProvider Provider { get { return _query.Provider; } } public override TEntity Add(TEntity entity) { _items.Add(entity); return entity; } public override TEntity Remove(TEntity entity) { _items.Remove(entity); return entity; } public override TEntity Attach(TEntity entity) { switch (entity.ObjectState) { case ObjectState.Modified: _items.Remove(entity); _items.Add(entity); break; case ObjectState.Deleted: _items.Remove(entity); break; case ObjectState.Unchanged: case ObjectState.Added: _items.Add(entity); break; default: throw new ArgumentOutOfRangeException(); } return entity; } public override TEntity Create() { return new TEntity(); } public override TDerivedEntity Create() { return Activator.CreateInstance(); } public override ObservableCollection Local { get { return _items; } } IEnumerator IEnumerable.GetEnumerator() { return _items.GetEnumerator(); } Type IQueryable.ElementType { get { return _items.AsQueryable().ElementType; } } Expression IQueryable.Expression { get { return _items.AsQueryable().Expression; } } IQueryProvider IQueryable.Provider { get { return _items.AsQueryable().Provider; } } Here is a gist with the code. In the last file in the gist, that is where the error happens. Gist code
Источник: https://stackoverflow.com/questions/262 ... mplemented
I am trying to make a FakeDbContext with a FakeDbSet for unit testing.
But I get the following error (see below). I am extending DbSet so normally IDbAsyncEnumerable should be implemented. And when I implement it, it says that it has no use.
Exception:
System.InvalidOperationException: The source IQueryable doesn't implement IDbAsyncEnumerable. Only sources that implement IDbAsyncEnumerable can be used for Entity Framework asynchronous operations. For more details see http://go.microsoft.com/fwlink/?LinkId=287068.
FakeDbSet class:
public abstract class FakeDbSet : DbSet, IEnumerable, IQueryable, IDbAsyncEnumerable where TEntity : Entity, new() { #region Private Fields private readonly ObservableCollection _items; private readonly IQueryable _query; #endregion Private Fields protected FakeDbSet() { _items = new ObservableCollection(); _query = _items.AsQueryable(); } public Expression Expression { get { return _query.Expression; } } public Type ElementType { get { return _query.ElementType; } } public IQueryProvider Provider { get { return _query.Provider; } } public override TEntity Add(TEntity entity) { _items.Add(entity); return entity; } public override TEntity Remove(TEntity entity) { _items.Remove(entity); return entity; } public override TEntity Attach(TEntity entity) { switch (entity.ObjectState) { case ObjectState.Modified: _items.Remove(entity); _items.Add(entity); break; case ObjectState.Deleted: _items.Remove(entity); break; case ObjectState.Unchanged: case ObjectState.Added: _items.Add(entity); break; default: throw new ArgumentOutOfRangeException(); } return entity; } public override TEntity Create() { return new TEntity(); } public override TDerivedEntity Create() { return Activator.CreateInstance(); } public override ObservableCollection Local { get { return _items; } } IEnumerator IEnumerable.GetEnumerator() { return _items.GetEnumerator(); } Type IQueryable.ElementType { get { return _items.AsQueryable().ElementType; } } Expression IQueryable.Expression { get { return _items.AsQueryable().Expression; } } IQueryProvider IQueryable.Provider { get { return _items.AsQueryable().Provider; } } Here is a gist with the code. In the last file in the gist, that is where the error happens. Gist code
Источник: https://stackoverflow.com/questions/262 ... mplemented
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение