当前位置: 首页 > 编程语言 > C#

来自SQL数据库表的C#类共享

时间:2023-04-10 21:55:43 C#

来自SQL数据库表的C#类遇到这个:http://www.eggheadcafe.com/articles/adonet_source_code_generator.asp并想知道这是否是正确的解决方案,因为我是不喜欢为每个存储过程创建类,或者我对ASP.net2.0项目使用企业库。您绝对不应该为每个存储过程创建一个类。您可以通过多种方式处理数据库交互。你应该好好看看那里的主要框架,然后决定哪一个最适合你。CastleProject解决方案很棒并且依赖于nHibernate(nHibernate)。LINQ是Mircrosoft(LINQ项目)提供的类似产品。两种解决方案都是完整的ORM框架(对象关系映射),并将生成动态SQL以将对象保存在数据库中。每个人都有自己的怪癖,并且喜欢你以某种方式构建你的对象。如果您不想管理系统使用的SQL,我肯定会推荐其中之一。我来自数据库背景,更喜欢对我的SQL有更多的控制权。我特别喜欢通过存储过程处理我的交互。我发现这使我可以更好地控制用于优化的SQL,但可以帮助我以更友好的方式管理数据库安全性。为了适应这种方法,我推荐类似iBatis(iBatis)的东西。iBatis不是一个完整的ORM,而是一个简单的SQL映射器。我的方法的缺点是您需要编写更多代码(SQL),但我不介意权衡。是否可以升级到Framework3.5?如果是这样,请查看LINQtoSQL和EntityFramework,因为它们将为您做很多事情。如果没有,那么您当然可以使用它,只要它生成标准代码并且不会将您绑定到第3方库。在我的工作场所,我们有自己的生成器与此类似,虽然我们很快就会转向LINQtoSQL,但它运行良好。在C#类中包装数据库表的方法有很多种;在选择要链接到哪个实体框架和哪个实体框架之前,您可能想研究一些替代方案。有一种称为“活动记录模式”的软件模式描述了这种方法——每个表一个C#类,使用加载/保存方法,如Customer.GetById()、Customer.Save()等。对于ASP.NET2.0,请查看CastleProject的ActiveRecord实现和名为ActiveWriter的第三方VisualStudio插件工具允许您使用拖放界面为表生成类包装器。您需要决定在什么时候需要由表组成的数据集,以及您是否希望SQL使用存储过程生成此数据,或者您的业务逻辑层是否将处理此数据。正如Dr8k所说,nHibernate将为您创建SQL,但nHibernate有一个学习曲线。ORM将控制您获取数据的方式,并且根据您的环境和DBA的要求,您可能需要克服其他问题。如果您更熟悉SQL,还有另一个名为SubSonic的工具,它会为您创建一个包装器alaActiveRecord,同时让您能够使用存储过程。还有一个不错的查询工具,如果不会用LINQ,可以用fluentinterface。以上就是C#学习教程:C#类从SQL数据库表分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处: