SQL查询的封装器

5

我有一个想法,可以为.NET编写一个库。这个库将是SQL查询的对象包装器,不是ORM,它是一个易于使用的工具,可以避免在小型项目中使用硬编码SQL。以下是使用示例:

var query = Query.Select("Name")
                 .From("Product")
                 .Where("Price", Operator.MoreThan, 5);
string result = query.Build();

result中,您将获得生成的 SQL 代码:
SELECT Name FROM Product WHERE Product.Price > 5

有人知道类似的.NET库吗?

LINQ to SQL - Tim Schmelter
它仅适用于对象实体。我的想法更相似。结果只获得查询的字符串。 - Eugene Gluhotorenko
1
这样的代码与纯SQL相比有什么优势? - svick
4
"Glum,强类型在LINQ中的使用很有意义:如果您在列名称中输错了一个字母,编译器(和IDE)会告诉您。如果您只使用字符串,那么就没有强类型。" - svick
@Glum 但是还有第二个DSL,即TSQL - delete from Product where id > 5 - 和你的版本一样“安全”。DataContext使您可以轻松执行此类命令... dapper和ado.net也是如此。 - Marc Gravell
显示剩余4条评论
2个回答

2

0

iBatis.Net和NHibernate做类似的事情。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接