我有一个问题,但我感觉自己还没有找到满意的答案,或者我没找对地方。
我们的系统最初是使用.NET 1.1构建的(但现在所有项目都支持3.5),并且所有实体都使用存储过程和一个名为“SQLHelper”的工具类进行数据库持久化,该类具有标准的ExecuteReader、ExecutreNonQuery等方法。
通常情况下,我们会有一些实体,例如 User 和 Role,然后还有另一个称为 UserIO 的类,它使用像以下这样的方法将这些对象持久化到数据库中:
static UserIO.SaveUser(User user)
将IO文件与实体分开的原因是为了保持IO的独立性,但是否更令人满意的方法只是简单地调用呢?
User.Save()
也许我错了,但是将这些"IO"文件散布在各处感觉不太对。因此,我正在考虑寻找其他持久性选项,并想知道最好的起点在哪里。我过去使用过数据集,但其中有些是负面经验,特别是它们的性能。我知道现在有LINQ,但我听说我应该使用ADO.NET实体框架,而不是LINQ,但是其他人告诉我实体框架还不太成熟,我应该等待C# 4.0。如果是这样,那么在C# 4.0即将发布之际,我是否应该继续采用我的“IO”文件方法并从实体框架入手?或者,也许我可以使用更优雅的类结构,比如利用Partial Classes?我应该说,我不是要完全替换已经存在的数据访问,我更关心我正在创建的新实体。
如果这个问题有点笼统,我很抱歉,因为我周围没有多少人可以交流这种想法。