使数据库级静态?

SeT*_*ToY 8 .net c# sql static class

我目前正在使用名为"SqlData"的类,其中包含连接到MS-SQL数据库所需的所有方法.

它包含插入,删除和更新不同类型表的方法 - 因此在我的WPF应用程序的许多Windows中使用.

假设我的WPF-Windows中有近90%正在调用至少三种方法来加载,插入和更新不同记录的SqlData方法......

目前,我需要在每个Window中实例化我的Sql-Class - 因此我正在考虑使整个Class保持静态,所以我不需要每次都实例化它?

但我也读过在与Web服务或数据库等外部服务器通信时不使用静态类.

你能否就我应该如何继续给我任何建议?

以下几个方法在我的类中使用(bool返回true,语句完成时,否则为false):

public DataTable GetAllSomething(DataTable _data)

public bool WriteSomething(Object something,out int insertedId)

public bool DeleteSomething(Object something)

谢谢!

Dar*_*rov 5

目前,我需要在每个Window中实例化我的Sql-Class - 因此我正在考虑使整个Class保持静态,所以我不需要每次都实例化它?

在.NET中实例化一个类所花费的时间是如此荒谬,以至于你不应该担心.就个人而言,我不使用静态类,因为它们在应用程序的不同层之间引入了强耦合,使得它们更难以单独进行单元测试.

所以我更喜欢抽象接口(或抽象类)后面的所有数据库访问,然后针对特定数据库提供此接口的实现.