實體框架7創建DbSet的內存實現

asp.net c# entity-framework entity-framework-core

對不起,我是Entity Framework的新手..

我想創建一個TestDbSet,它在EF 7中提供DbSet的內存實現。

public class TestDbSet<TEntity> : DbSet<TEntity>, IQueryable, IEnumerable<TEntity>, IDbAsyncEnumerable<TEntity> 
        where TEntity : class 
    { 
        ObservableCollection<TEntity> _data; 
        IQueryable _query; 


    public TestDbSet() 
    { 
        _data = new ObservableCollection<TEntity>(); 
        _query = _data.AsQueryable(); 
    } 

    public override TEntity Add(TEntity item) 
    { 
        _data.Add(item); 
        return item; 
    } 

    public override TEntity Remove(TEntity item) 
    { 
        _data.Remove(item); 
        return item; 
        } 
 }

我在Add方法中收到錯誤,返回類型必須是EntityEntry<T>才能匹配Overriden Dbset成員。

我試圖更改方法簽名,但我不知道如何將項目作為EntityEntry返回

 public override EntityEntry<T> Add(T item) 
        {
           _data.Add(item);
            return  item;
        }

我找不到類似的問題。你能指導我們如何在EF 7中實現..我知道它可以在EF 6中使用..

熱門答案

對於沒有真正DB的測試,您可以使用Microsoft.EntityFrameworkCore.InMemory



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow