我很难想到一个使用linq2sql的好方法,只是我想使用它,但我无法弄清楚是否最好将linq2sql生成的类包装在我的模型类中,提供某种形式的泛型抽象基类/或我的模型类上的常用方法的接口,如添加,更新,删除等,或者扩展linq2sql生成的部分类。
人们发现哪种设计最成功?你能快速淡化这些设计吗?
(我知道这有点主观,因为每个人都有自己最好的方式,但是,我不确定它是否应该被标记为。如果你认为它应该是自由编辑和制作社区维基。)
答案 0 :(得分:8)
就个人而言,我将Linq2SQL包装在存储库模式中。
答案 1 :(得分:3)
根据应用程序的复杂程度,您可能需要或不需要使用ORM生成的类以外的任何其他内容。我发现我能够愉快地使用生成的类,通过部分方法扩展并使用包装器包装数据上下文(如果我需要添加常用功能,可能会扩展)以提高可测试性。但是,从数据库的角度来看,我的大多数应用程序都相对简单。