我阅读了有关n层架构的书籍,文章,教程和所有类型的东西,我正在尝试应用着名的3层(DAL,BLL,PL),我刚刚进入游戏,实际上我已经阅读了很多关于将整个数据库加载到内存(数据集所做的)有多么糟糕,特别是当我需要查看有关必须从5个表或其他内容中检索的项目的详细信息时,所以这将是很多,我只想要一个记录!并且我唯一需要很多记录的情况它一次不会很多,它会检索非常简单的信息(id,name,address)这样的东西!
你认为在没有数据集的情况下找到另一种创建DAL和BLL的方法会更好吗?或数据集更好?如果数据集对性能不利等等,您是否有任何材料可以教我如何操作?
答案 0 :(得分:5)
答案 1 :(得分:1)
这听起来像LINQ to SQL的好候选人。它为您提供了所需的性能,并采用非常简单的强类型方式来访问您的数据。
答案 2 :(得分:0)
我很少使用数据集。但是,我认为你对他们的印象错误。
数据集不包含整个数据库...除非您通过Command
和Adapter
运行的查询返回整个数据库。如果你想要的只是少量的行,那么只查询那个,那就是所有数据集都包含的。
如果你能够使用像NHibernate,Linq to SQL或Entity Framework这样的东西,那么这可能是一个很好的方法;它为您提供了ADO.NET数据集的一些不连贯的好处,而不必担心所有开销。
答案 3 :(得分:0)
我认为你应该抽象每一层。您正在使用哪个数据库是最终应该决定的。设计和实现一切,以便您可以基本上插入所需的任何数据存储,您不希望数据库决定您的解决方案的任何要求。
我建议你阅读很多关于设计模式的书籍,其中一本是四人一组。
答案 4 :(得分:0)
如果您只需要1,则不想查询数据库并返回1,000条记录。当您查询数据库并且只需要一条记录时,请编写SQL以仅针对您需要的记录。
我已经做了.Net很长一段时间,如果我是你,我会花一些时间看看实体框架,实体空间(我的偏好),nHibernate或某种时尚的ORM。
它们使生活变得更加轻松,如果正确完成,您仍然可以拥有良好的松散耦合架构。
简而言之,数据集相当蹩脚,它们似乎都很强大,但通常会造成糟糕的架构。