我应该使用Linq-to-SQL还是Castle ActiveRecord实现?

时间:2010-01-20 10:46:47

标签: nhibernate linq-to-sql castle-activerecord

我不想再编写存储过程了(除非我必须这样做),所以我应该使用开箱即用Linq-to-SQL还是Castle ActiveRecord implementation

据我所知,here on Stackoverflow

两者之间存在一些差异

4 个答案:

答案 0 :(得分:3)

我会说尝试两者,看看哪种最适合你的需求。问这些问题你很可能得到另一个答案 - “我更喜欢哪一个”。没有一种尺寸适合所有解决方案,而且您提供的细节很少,很难真正帮助您。

请注意,ActiveRecord使用下面的NHibernate,这是一个比L2S强大得多的ORM,所以如果你打算让你的项目增长,那么从长远来看,它的灵活性和成熟度可能会有所帮助。

答案 1 :(得分:2)

我不确定你为什么恰巧在这两者之间做出选择?

LinqToSql目前拥有比NHibernate更好的Linq提供程序。

Castle ActiveRecord基于NHibernate。 NHibernate比LinqToSql功能更丰富,并且NHibernate的功能增加得更快。

根据您的域,数据模型和要求的复杂性,您可能会被迫在某个时候使用NHibernate,因为LinqToSql无法完成您需要它做的事情(您没有指定什么样的你所拥有的环境和要求,这会产生很大的不同。)

从一个ORM过渡到另一个ORM可能很困难/昂贵,因此明智地选择是很重要的。

在某些情况下,我会推荐LinqToSql而不是Castle ActiveRecord,但它们很少见。通常,Castle ActiveRecord更适合您的工作。

答案 2 :(得分:1)

使用Linq to SQL - 它很容易上手,并且有很多文档可供它使用。此外,您不需要对框外的任何内容进行任何依赖,这将节省您的时间。

答案 3 :(得分:0)

由于实体框架,Linq-to-SQL似乎正在失去基础。由于EF与许多新的和即将推出的MS技术很好地集成,您可能不会后悔使用EF。与Casle thuogh相比,不确定它的表现如何。