6

我需要创建几个共享 Microsoft SQL Server 数据库的应用程序。其中包括 ASP.NET Web 应用程序、WPF 桌面应用程序,以及可能时不时出现的奇怪的控制台应用程序。

我想使用 ADO.NET Entity Framework 进行数据访问,为我的业务逻辑扩展它的对象,并将这些对象绑定到我的 UI 中的控件。

我怎样才能在我的每个应用程序中做到这一点而不会重复自己太多?如果数据库架构或我的业务逻辑发生变化,那么我想要一种简单(或自动)的方式来更新我的所有应用程序。

我应该如何构建这个系统?


更新:我已经问了后续问题......

4

5 回答 5

9

为此,我建议创建一个包含多个项目的 Visual Studio 解决方案。您的 DAL 将包含在其自己的项目中,然后对于需要使用该功能的其他项目,创建一个指向 DAL 项目的项目引用。

希望这可以帮助!

于 2008-11-03T19:42:28.543 回答
3

adamalex 的想法是合理的。根据您的设置,另一种受欢迎的方法是将公共项目分开,编译,然后让您的其他项目引用此编译后的 dll。如果他们引用此 dll 的最新版本或它的特定版本,则由您决定。也许您不希望某些项目必须一直跟上。

于 2008-11-03T20:11:03.710 回答
2

也许您可以使用网络服务来集中数据库访问/逻辑......

链接SOA / WebServices / Remoting)的答案中可以看出

于 2008-11-03T23:17:12.167 回答
2

我建议你看看 CSLA.Net。它允许您构建轻松支持多个接口(asp.net、wpf、silverlight 等)的业务对象。我不知道您在构建什么,但 CSLA 非常支持这一点。

我有一个幻灯片幻灯片,可以帮助你了解 CSLA。

CSLA 滑梯

于 2008-11-10T02:52:37.567 回答
1

我建议创建一个包含多个项目的新 Visual Studio 解决方案。对于 DAL/BLL 分离,我建议使用类库。进行此抽象化后,您可以将其包装在其他项目中,例如 WCF Web 服务,并将其公开地公开给 .NET 系统,以及可能的其他系统。

创建这些类库项目后,您可以在其他项目中添加对它们的引用并使用它们。这将有助于保持关注点的清晰分离。

于 2008-11-03T23:20:47.150 回答