问题:
目前C#/ VB.NET中编译时SQL语句语法检查的最佳权重选项是什么?
基本上,我想要的是在代码中创建一个select / update / insert / delete语句,这样我就可以进行编译时检查(是否所有列都存在并且具有正确的名称等)。
注意:
它应该是轻量级的。我真的不想要一个像nHibernate或EF这样的完全成熟的ORM,也没有像LINQ to SQL那样的弃用框架,也不能在多个数据库上工作(并不是一个缺点)。
我想要的是让程序在我的数据库上运行,为所有表和视图创建一个类(比如nhibernate的一些工具),然后访问类字段而不是编写字符串,以便在编译时捕获错误而不是运行时。
我不想要的是必须用XML手动映射事物,或像nHibernate一样重量级,这很慢,因为它会做很多我不需要的其他事情。
到目前为止,我发现的唯一内容是本文中的Indy.Data和C-Omega:
http://www.codeproject.com/Articles/10665/Extending-C-to-Support-SQL-Syntax-at-Compile-Time