1

我正在寻找重新编写一个管理应用程序,并且我已经有一个非常干净的域类库和 Web 服务/数据库来处理所有的业务逻辑和持久性。也就是说,该库已经提供了 CreateFoo、GetFoo 和 UpdateFoo 方法,它们默认使用现有的 Web 服务。

我想我可能会使用Naked Objects for .NET MVC来编写一个新的 Web 管理工具。看起来 Naked Objects 假设您希望 Naked Objects 框架同时处理 GUI 和持久性,但我只希望 MVC 网站来自 Naked Objects,而不是持久性。

有没有关于如何为 .NET 做仅 GUI 的裸对象的指导? 我如何完全“关闭”持久性方面? 如果我只是尝试一下,我会得到一个异常“App.config 文件中没有实体连接字符串”——当然,我不想使用任何连接字符串。

更新:将新的 NakedObjects.Persistor.Objectstore.Inmemory.InMemoryObjectPersistorInstaller 注入 RunWeb.cs 中的 Persistor 属性似乎让我切换到内存中持久性。再深入一点,似乎我可能需要实现更复杂的接口——因此需要一个指南。也许在我们必须连接所有持久性逻辑以适应 Naked Objects 接口的应用程序中使用 Naked Objects 是不值得的?

4

2 回答 2

3

正如您所说,您可以将 NO MVC 与内存对象存储一起使用。你需要覆盖

protected override IObjectPersistorInstaller Persistor

RunWeb 类中的属性。

但这些对象必须来自某个地方。在内存对象存储的情况下,要查找的另一个安装程序是 IFixturesInstaller,它定义了一组固定装置(实体)以在启动时安装到内存对象存储中。

不过,总的来说,您的用例可能并不特别适合 NO MVC 的设计目标。

于 2012-06-18T16:27:13.810 回答
1

看起来像裸对象使用 EF 进行持久性。EF 是一个 ORM,因此需要一个 db。所以简短的回答是,您不能从数据库切换到 Web 服务以实现持久性,因为 NO 与 EF 相关联。

于 2012-06-18T15:35:47.600 回答