是否有与MS SQL 2008+ 相关联的 ORM,生成 .NET 代码,利用 MS SQL 特定功能?
我对 2 个功能特别感兴趣:
(1) 通过键获取一组记录,不会映射到“select in”查询。
- 这可以通过在 2005+ 中使用或在 2008+ 中OPENXML
使用表值参数来实现
(2) 通过单个请求向数据库插入多个记录(这与 Bulk-Insert 相似,但不同)。例如:
Customer[] customers = CreateSomeCostomers();
dataManager.Save(customers);
所以在客户端准备好SQL相关代码,然后全部发送到SQL服务器。
顺便说一句,存储过程是不可能的。
如果您 stackoverflowers 对我有任何建议,我会很高兴。
谢谢!
更新:
我正在寻找一个完整的解决方案,而不是我可以根据自己的需要定制的可扩展框架/产品。所以自定义NHibernate/linq2sql/etc。通过编写我自己的代码实现不适合我的需要。
关于接受的答案的几句话。
似乎目前所有的 ORM 框架都试图涵盖多个数据库/技术。所以我想没有现成的解决方案可以满足我的需求,至少没有开箱即用的解决方案。
我了解指向 Fluent NHibrenate 的 @Ryk 认为这种解决方案确实存在,这是配置问题。我查看了 NHibernate 和 Fluent NHibernate 的源代码,但没有发现任何支持我正在寻找的功能的东西。OPENXML
例如,我sp_xml_preparedocument
在两个源代码中都找不到关键字。所以也许我错过了一些东西,但我不这么认为。由于赏金是有时间限制的,我无法对 FN 或 NH 进行更深入的调查。我仍然认为那里不支持这些功能。
因此,根据我的最佳理解,公认的答案是,没有这样的事情。声称最通用的答案是@Cade Roux 的答案。
我感谢大家的参与。干杯!