我有这样的想法,使用 SQL VIEWS 来抽象简单的数据库计算(例如对关系的计数)就足够了,并且您不需要过程(== 过程代码)
一个简单的 sql视图+ where子句 >> 有时带有参数的存储过程
在提出这一点时,我设想了一种无需编写 SQL 且无需编写 where 子句即可检索表/视图数据的方法。
但是,令我惊讶的是,在 ADO.NET 2.0 或更高版本中似乎没有办法实现这一点。
让我告诉你我尝试了什么:
SqlDataAdapter + SqlCommandBuilder 仍然需要您在字符串中编写“SELECT ... FROM”和WHERE CLAUSE(另外,如果您放置“where”,则不会过多使用 Update/Insert/DeleteCommand)
类型化的 DataSet 只允许您检索_整个 DataTable_s,然后对其应用过滤器。过滤器是字符串,没有转义帮助...(必须双引号!)
SQL to Entities 看起来很有希望,但它们似乎:仅限于 MSSQL,生成臃肿的 SQL 查询,生成全新的 DAO 堆栈(除了现有的域模型类),所有这些都需要 .net 3.5+ 等等(也就是说,所有这些对我来说都是缺点)
其他 ORM 也有与 SQL to Entity 类似的问题。
我正在寻找的是一种访问数据库表/视图的强类型方法:
- 不附带另一套 DAO (KISS)
- 允许我查询表而不在字符串中写入“SELECTs”(强类型)
- 允许我过滤(WHERE)具有正确转义参数的表(并且无需事先检索整个数据)
- 以后可以发布更新/插入/删除
我对.Net 相当陌生,但并不愚蠢:这存在吗?
谢谢。