2
我最近開始自學C#和Asp.net。我正在嘗試構建一個簡單的博客應用程序。我對存儲庫模式的使用感到困惑。我看過很少的教程,其實現也各不相同。存儲庫模式在asp中。 net mvc3
對於我的博客應用程序,我有兩個數據庫表格(模型) - 博客和評論。目前,我有一個IDbContext它看起來像這樣:
public interface IDBContext
{
IQueryable<Blog> FindAllBlogs();
IQueryable<Blog> FindBlogsInMonth(int month);
Blog GetBlog(int id);
void Add(Blog blog);
void Update(Blog blog);
void Delete(Blog blog);
void Add(Comment comment);
//void Remove(Comment comment);
}
,我有寶庫,它看起來像這樣:
public class BlogRepository : IDBContext
{
private BlogDb db = new BlogDb();
public IQueryable<Blog> FindAllBlogs()
{
return db.Blogs.OrderByDescending(b => b.PublishDate);
}
public Blog GetBlog(int id)
{
return db.Blogs.Single(b => b.BlogID == id);
}
...
}
其他實現庫模式是這樣的:
public interface IDbContext
{
IQueryable<Blog> Blogs { get; }
IQueryable<Comments> Comments { get; }
int SaveChanges();
T Attach<T>(T entity) where T : class;
T Add<T>(T entity) where T : class;
T Delete<T>(T entity) where T : class;
}
它調用一個存儲庫,並有查詢單獨的類。
什麼是最好的方法來做到這一點?
感謝您的評論。你在這裏討論了哪些新功能。我會很感激,如果你能指點我可以讀懂的一些資源的方向。 – Tripping
我使用微軟EF團隊的博客文章開始使用4.1版本:http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-model-amp-數據庫先walkthrough.aspx。如果您是「Code First」,「Model First」和「Database First」的新手,那麼我建議從「Model First」開始。它支持相同的EDMX文件,但修改代碼生成以使用DbContext和DbSet。 – ShadowChaser