我在 C# 3.0 中创建了一个简单的桌面应用程序来学习一些 C#、wpf 和 .Net 3.5。我的应用程序本质上是从 csv 文件中读取数据并将其存储在 SQL Server CE 数据库中。我使用 sqlmetal 为数据库生成 ORM 代码。我对这个应用程序的第一次迭代非常丑陋,我正在重构它。
这让我想到了我的问题。您将如何在 C# 中构建桌面数据库应用程序?最佳实践是什么?
您是否创建了使用 sqlmetal 生成的代码的数据库抽象层 (DAL)?或者生成的代码是否足够抽象?
如果您使用 DAL 模式,您会将其设为单例还是静态成员?您是否将 View-Model-ModelView 模式与 DAL 模式一起使用?
如果这似乎是一个长期开放的问题,我深表歉意,但我最近一直在考虑这个问题。我看到很多关于如何在 C# 中构建企业 n 层应用程序的示例,但在构建独立桌面应用程序方面却没有那么多。