我刚刚开始在一个新网站上进行开发,并试图正确地做到这一点,也就是说,使用 DAL 而不是我以前使用的代码查询。
我了解这一切的原理,但我发现这个 DAL 带有表适配器和向导,它们的工作量太大而无法真正使用。有没有人对我应该使用什么有任何建议以及如何快速使用它的教程的链接?
我刚刚开始在一个新网站上进行开发,并试图正确地做到这一点,也就是说,使用 DAL 而不是我以前使用的代码查询。
我了解这一切的原理,但我发现这个 DAL 带有表适配器和向导,它们的工作量太大而无法真正使用。有没有人对我应该使用什么有任何建议以及如何快速使用它的教程的链接?
我在我的博客上发布了一个代码生成工具(包括源代码)。 数据访问层 CodeGen 本质上,它将为您生成大部分 DAL 代码。那是用于“获取”的代码的 100% 以及用于插入、更新、删除存储过程的命令参数和分配等。
代码生成使用 ADO.NET Core(仅此而已)。您可以只看一下代码,以便了解应该如何编写代码(作为学习工具)。
我希望它有所帮助。
建立你自己的是有用的练习——它会让你意识到所涉及的内容。
作为第一步,为什么不结合 Codesmith 和一些用于执行 CRUD 操作的常见数据库例程来滚动您自己的实体和数据访问?如果您的应用程序不是很大,那么这可能就是您所需要的。
继续前进,LINQ 可能会成为未来使用这些东西的方式,但当然是特定于语言的。
我建议您考虑使用轻量级且易于使用的 ORM,例如 Linq to SQL。我工作的公司是一家 2.5B 美元的太阳能制造公司,我们使用 L2S 作为我们下一代制造应用程序的基础。它允许我们在 Linq 中进行所有查询(强类型查询 - 巨大的好处),并且非常容易使用。
就像所有其他事情一样:保持简单。如果你想自己写一个 DAL,那么只写你需要执行数据库操作的代码。
public class MyDal
{
private SqlConnection _connection;
public MyDal()
{
_connection = new SqlConnection("connection string here");
}
public DataSet GetSomeData()
{
// write the code that reads from the database and parses the data in a DataSet
}
}
当然,如果您愿意,有许多好的解决方案可以让您不必编写自己的 DAL。就个人而言,我喜欢 Castle ActiveRecord,因为它就是这么简单。您只需编写数据对象并赋予它们一些属性,ActiveRecord 会负责所有数据库通信。
如果您正在处理更大的项目,您可能会研究其他解决方案、ORM,例如 Microsoft Entity Framework (EF) 等。
如果您可以选择,我建议您使用 .NET 4.0 并查看使用WebMatrix构建您的站点查看 Rob Conery 的关于 WebMatrix的想法,了解有关使用 WebMatix 及其采用的数据访问策略的更多详细信息。