有啥方法可以为 c# .NET 中的特定数据库表自动生成 BLL 类?

Posted

技术标签:

【中文标题】有啥方法可以为 c# .NET 中的特定数据库表自动生成 BLL 类?【英文标题】:Is there any way I can automatically generate BLL classes for a particular database table in c# .NET?有什么方法可以为 c# .NET 中的特定数据库表自动生成 BLL 类? 【发布时间】:2019-10-25 23:34:48 【问题描述】:

我一直在为我在数据库中创建的任何新表编写 BLL,并在数据访问层中使用它们。我想知道是否有人知道是否有使用 .NET 为 sql server 数据库中的表生成 BLL 类的内置选项。

【问题讨论】:

如果所有的 BLL 对象都是相同/相似的结构,那么也许你需要一个通用的基础? 很多。这完全取决于您希望您的“BLL 课程”做什么。 EF 是一种流行的选择,自定义 T4 代码是另一种手写的 POCO 类,您可以根据具体情况使用 Dapper/Automapper 映射到另一个,保持它完全动态的另一个......我会这么说太宽泛了。 EF Core 可以做到这一点。 Peta Poco 有 T4 模板。还有更多。取决于你使用什么技术。 【参考方案1】:

这取决于您想要的对象或您想要赋予它们的行为。

您已经有实体框架作为一种可能性,它已经做了与您描述的非常相似的事情。

还有 LLBL Gen Pro(不是免费的,但很棒),可能会满足您的所有需求。

您还可以制作自己的代码生成器工具,将模板引擎(如 T4)与针对您的主数据库的查询相结合,也许使用 MicroORM 来简化数据库访问。

【讨论】:

以上是关于有啥方法可以为 c# .NET 中的特定数据库表自动生成 BLL 类?的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的 File 和 FileInfo 有啥区别?

C#中的方法与属性-有啥区别[重复]

您能否将属性值传递到 C# .NET 中 Web 属性中的“特定页面”URL 路径

C#中字段与属性有啥不同

.NET 中有啥比 SqlDataReader 更快的吗?

有啥方法可以从 Firestore 中的数组更新特定索引