【发布时间】:2016-12-04 21:14:22
【问题描述】:
我有一个 MVC 解决方案:
在我的不同文件中:
Library.DataAccessLayer.LibraryContext.cs :
namespace Library.DataAccessLayer
{
public class LibraryContext : DbContext
{
public LibraryContext() : base("DefaultConnection")
{
}
public DbSet<Book> Books { get; set; }
public DbSet<Author> Authors { get; set; }
}
}
Library.DataAccessLayer.Models.Author.cs :
namespace Library.DataAccessLayer.Models
{
public class Author
{
[Key]
public int AuthorID { get; set; }
[Required]
[StringLength(50)]
[Display(Name = "First Name")]
public string FirstName { get; set; }
.........
}
}
Library.DataAccessLayer.Repositories.AuthorRepository.cs :
namespace Library.DataAccessLayer.Repositories
{
public class AuthorRepository : IDisposable, IAuthorRepository
{
private LibraryContext context;
public AuthorRepository(LibraryContext context)
{
this.context = context;
}
public IEnumerable<Author> GetAuthors()
{
return context.Authors.ToList();
}
public Author GetAuthorById(int id)
{
return .........
}
............
}
}
在 Library.Controllers.AuthorController 中:
namespace Library.Controllers
{
public class AuthorController : Controller
{
private IAuthorRepository authorRepository;
public AuthorController()
{
this.authorRepository = new AuthorRepository(new LibraryContext());
}
public ActionResult Index()
{
var authors = authorRepository.GetAuthors();
return View(authors);
}
}
}
1/ 这个架构是连贯的?
2/ 为在我的存储库类中实现的存储库声明接口真的有用吗?
3/在我的AuthorRepository中,LibraryContext的声明和调用是否正确?
4/ 在我的 AuthorController 中,我对 AuthorRepository 的声明和调用是否正确?
5/ 我们可以将文件 LibraryContext 放在哪个文件夹中? (如有必要和有用)
6/ 将存储库接口和存储库类分组在同一个文件夹中好吗?如果不是,如何对各个文件夹进行分隔和命名?
7/ 如何改进?
我需要你的建议。
谢谢
【问题讨论】:
标签: c# entity-framework-6 repository-pattern