来自 SQL 数据库表的 C# 类

标签 c# .net orm .net-2.0

遇到这个:

http://www.eggheadcafe.com/articles/adonet_source_code_generator.asp

并且想知道这是否是正确的解决方案,因为我不太喜欢为每个存储过程创建一个类,或者我是否将 Enterprise Library 用于 ASP.net 2.0 项目。

最佳答案

您绝对不应该为每个存储过程都创建一个类。您可以采用多种方法来处理数据库交互。你应该好好看看那里的主要框架,然后决定哪一个最适合你。 CaSTLe Project 解决方案很棒,并且依赖于 nHibernate ( nHibernate )。 LINQ 是 Mircrosoft ( LINQ Project ) 提供的类似产品。这两种解决方案都是完整的 ORM 框架(对象关系映射),并将生成动态 SQL 以将您的对象保存在数据库中。每个也有它自己的怪癖,并且喜欢你以特定的方式构建你的对象。如果您不想管理系统使用的 SQL,我肯定会推荐其中一种方法。

我有数据库背景,更喜欢对 SQL 有更多的控制权。我特别喜欢让存储过程处理我的交互。我发现这使我能够更好地控制 SQL 以进行优化,但有助于我以更友好的方式管理数据库安全性。为了适应这种方法,我推荐像 iBatis ( iBatis ) 这样的东西。 iBatis 不是一个完整的 ORM,而是一个简单的 SQL 映射器。我的方法的缺点是您需要编写更多代码 (SQL),但我不介意权衡取舍。

关于来自 SQL 数据库表的 C# 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/219986/

相关文章:

.net - Powershell v3 Invoke-WebRequest HTTPS 错误

c# - XML 到对象反序列化

.net - Linq Expressions 找不到公共(public)方法... :-/

c# - 在 C# Windows 服务上重定向 stdout+stderr

c# - 在同步块(synchronized block)内部和外部使用字段是否安全?

c# - 如何在 C# 中使用 InstaSharp 关注用户

php - 编写将 SQL 结果行转换为对象的函数

javascript - Sequelize 查询时间戳格式

php - 尝试保存其他实体时 Doctrine 事件监听器中的无限循环

c# - 截取未打开的文件夹窗口的屏幕截图