需要有关访问数据库的建议

时间:2009-11-29 10:07:20

标签: c# .net database list

假设我有一个具有属性及其方法的Comment类 像

public Comment GetComment(Guid id)

public static List<Comment> GetComments()
public static  List<Comment> GetCommentsByAuthor(Author id)

现在,我通常做的是为每个人编写数据库逻辑 以上方法。 那就是说,现在我看到了BlogEngine.NET代码,他在这里写道 办法; 他为GetComments()方法编写了数据库逻辑并进行了提取 来自它的所有剩余方法,即使对于GetComment(Guid id)来说 使用像

这样的东西
   //FindAll is a method in List<T> class
    FindAll(delegate(Comment comment)
    {
    return comment.Author.Equals(author ,
    StringComparison.OrdinalIgnoreCase);
    }
    );

我的问题是,以这种方式而不是这样做是不是一个好主意 第一种方法? 这种方式的任何利弊和建议和指针和 资源是最受欢迎的。 TIA SRINIVAS

1 个答案:

答案 0 :(得分:2)

尽可能重用代码而不是重写代码是个好主意,但这不是最好的方法。它需要从数据库中提取所有行,然后在客户端上过滤它们。如果使用Linq,则可以遵循相同的重用查询模式,但过滤将在数据库中而不是在客户端上完成,从而提高性能。

public IQueryable<Comment> GetCommentsByAuthor(Author author) {
    return GetComments().Where(comment => comment.Author.Id == author.Id);
}