2010-01-26 174 views
1

我正在做一个小项目。我有一个很大的SQL查询表达式,30多行,我希望在我的项目中使用。这个应用程序需要通过这些查询提供对数据库的只读访问。我应该使用哪种DAL选择?

有这么多的数据层选择。 nHibernate,实体框架,LINQ to SQL,数据集,Castle ActiveRecord ...其他我无法从头顶命名。我不想将这个查询重新编码到LINQ中,所以我认为没有。如果我仍然可以将它复制到查询编辑器中,或者轻松地将它移植到其他框架,我更喜欢它。

这个项目是关于学习一种新技术。为了获得有用的技术,我应该使用哪种框架?我永远不会从这个应用程序更新数据库。

建议?

+2

我说去为ADO.NET对象和内联SQL! – ChaosPandion 2010-01-26 15:12:55

+1

你如何计算SQL查询中的行数? – dotjoe 2010-01-26 15:15:06

+0

Def使用ADO并将其推入数据集,然后显示和操作它是一个辛苦。 – 2010-01-26 15:24:27

回答

6

NHibernate为赢!

+0

我可以使用SQL而不必做NHibernate风格的查询吗? – Amy 2010-01-26 16:23:52

+0

是的,你可以,但是一两个星期到项目中,你会扔掉你所有的SQL,买一个T恤,上面写着“SQL是为了你的” – 2010-01-26 16:32:15

+0

然后你会使用Linq查询在这个地方... :-) – 2010-01-26 16:44:14

2

如果你没有太多的查询需要使用,我会说NHibernate(你可以更容易控制XML上的映射),或者更简单的ActiveRecord(假设你也创建了自己的数据库,那么你不必关心映射)。

否则性能直接使用ADO.NET

0

随着一个大的查询表达式,你可以很容易地有多个项目DAL并尝试了你所提到的每一个。

+0

当然会有其他疑问。 – Amy 2010-01-26 16:25:22

3

SubSonic是好的,整洁的简单的事情,甚至有一个很好的宣传标语(和podcast episode)。

+1

+1,即使它没有与接受的答案相同的Pzazz:p – 2010-01-26 20:52:47