使用EntityFramework6的Repository模式的最佳方法

时间:2017-04-19 10:02:15

标签: c# entity-framework repository-pattern

很抱歉,如果这似乎是一个愚蠢的问题,但我对此很陌生,并试图为项目选择最佳选项。

我正在使用ASP.NET MVCWeb API作为项目。 我创建了一个类库,使用 Entity Framework 6 与数据库( SQL Server 2008 )进行交互。

我读了几篇不同的文章,但不知道哪个是我最好的选择。我希望很快就会有更大的流量来打击这个数据库..

//option1    
public class Entity1Repository
{
    private DBContext dbContext = new DBContext();
    public IQueryable<Entity1> Get()
    {
        return dbContext.Entity1;
    }
    public int Add(Entity1 entity)
    {
        dbContext.Entity1.Add(entity);
        dbContext.SaveChanges();
        return entity.Id;
    }
}


//option2
public STATIC class Entity1Repository
{
    public IQueryable<Entity1> Get()
    {
        using (var dbContext = new DBContext())
        {
            return dbContext.Entity1;
        }
    }
    public int Add(Entity1 entity)
    {
        using (var dbContext = new DBContext())
        {
            dbContext.Entity1.Add(entity);
            dbContext.SaveChanges();
            return entity.Id;
        }
    }
}

我还看到了使用async / await的一些示例。 哪个选项更好用?

0 个答案:

没有答案