65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 CodeFluent Entities 通过开箱即用的生成器生成的 UI

2013 年 3 月 22 日

CPOL

8分钟阅读

viewsIcon

17815

本文将向您展示如何使用 CodeFluent Entities 的 UI 生成器。您可以使用同一个、唯一的模型生成在您选择的目标平台上呈现的界面。您将看到 CodeFluent Entities 是完全 UI 无关的。

CodeFluent Entities 是什么?

CodeFluent Entities 是一款集成在 Visual Studio 2008/2010/2012 中的独特产品,它允许开发人员生成组件,例如脚本(如 T-SQL, PL/SQL, MySQL, Pg/SQL)、代码(如 C#, VB)、Web 服务(如 WCF, JSON/REST)和 UI(如 ASP.NET, SharePoint, WPF)。

代码生成过程是模型优先且持续的:从您的声明式模型中,将推断出一个元模型,然后代码生成器会将其转换为代码。提供了超过 20 个代码生成器(又称“生成器”),可以组合使用它们来按照您想要的架构,使用您想要的技术来创建您的应用程序。

更多信息请访问 http://www.softfluent.com/products/codefluent-entities

CodeProject 会员特别优惠!

作为对 CodeProject 社区的感谢,Softfluent 将免费赠送价值 399 美元的 CodeFluent Entities Professional 许可证。这是一次性活动,将于 4 月 30 日结束。所以不要错过,点击这里 

SoftFluent 是谁?

SoftFluent 是一家创新公司,致力于在 .NET 平台上实现数据驱动应用程序的软件开发工业化。

SoftFluent 是一家创新的软件公司,于 2005 年由微软资深员工、微软咨询服务的前顾问创立。SoftFluent 是高级别的 Visual Studio 行业合作伙伴和微软金牌合作伙伴认证。它利用其在构建企业级应用程序方面的丰富经验,创建了一个针对 Microsoft 平台优化的模型优先代码生成器

更多信息请访问 http://www.softfluent.com/about-us

CodeFluent Entities UI 生成器

在之前的文章中,我们向您展示了如何使用 CodeFluent Entities 开箱即用提供的以下 UI 生成器。

  • Windows Store 生成器
  • ASP.NET Web Forms 生成器 / AJAX/JSON
  • WPF Smart Client 生成器
  • SharePoint Web Part 生成器

在本文中,我想强调 CodeFluent Entities 是完全 UI 无关的事实。确实,您可以使用同一个、唯一的模型生成在您选择的目标平台上呈现的界面。例如,以下是所有可用的 UI 生成器的列表。

 

让我们看看 CodeFluent Entities 如何从完全相同的模型使用这些不同的生成器生成所有用户界面。

请注意,生成的应用程序不仅仅是一组用户界面;它们实际上是完整的交互式应用程序,共享相同的业务对象模型、数据库,并且是 100% 功能齐全的。

我们使用了 CodeFluent Entities 提供的“ContactManager 示例模型”。

 

让我们来看看 ContactManager 模型。

 

您可以在 CodeFluent Entities 提供的生成器的 资源 中找到许多关于如何使用这些生成器的信息。访问 CodeFluent Entities 的 博客,我将跳过它们的配置,直接向您展示生成的 UI。

使用 Windows 8 Store 生成器生成的 UI

默认生成的首页列出了所有命名空间及其包含的实体。

 

单击实体会进入实体页面。在此实体页面上,您会找到生成该页面的实体的截图。

右键单击此页面或按 Ctrl+Z 将在底部弹出一个菜单,其中包含该实体可用的*操作*列表。这些操作实际上对应于实体提供的业务方法。我们主要可以找到加载实体集(LoadAllLoadByXXXLoad)的有用方法。

 

让我们单击“LoadAll”命令。我们得到一个页面,在左侧显示我们数据库中的所有联系人。如果我们单击/点按联系人实例,其数据将显示在页面的右侧。

 

通过按 Ctrl+z 或右键单击,可以恢复菜单,从而允许您执行与单个联系人相关的操作,例如创建新联系人、编辑或删除选定的联系人。

 

例如,按下“编辑”按钮将允许您编辑选定的联系人。此操作将显示一个表单,而不是选定联系人的只读视图: 

该表单不仅允许您编辑实体的单个属性,还可以编辑您的实体与其他实体之间的关系,例如,您可以将“用户”实例附加到您的联系人。

使用 ASP .NET MVC 生成器生成的 UI

现在让我们看看由 ASP .NET MVC 生成器生成的网站的样子。

默认生成的首页按命名空间分组列出实体。

 

单击实体会进入其关联页面。在此实体页面上,您会找到生成该页面的实体的截图。

页面左侧是该实体可用的*操作*列表。这些操作对应于实体提供的业务方法。

 

这是单击“LoadAll”按钮时为 Contact 实体显示的屏幕:它通过 HTML 表格列出了所有联系人并支持排序!从中您可以查看详细信息、编辑或删除联系人。

假设我们想查看联系人的属性和值。单击“详细信息”超链接将显示以下屏幕。

 

如果我们返回列表,单击“编辑”超链接将允许您编辑条目。我们现在可以编辑选定联系人的属性。

 

使用 ASP .NET AJAX 生成器生成的 UI

如您所见,使用 ASP .NET AJAX 生成器将生成比 ASP .NET 生成器更“炫酷”的 UI。此生成器使用 jQuery 和 jQuery UI 库。

默认生成的首页列出了所有命名空间及其包含的实体。

 

让我们单击一个实体,以便我们看到关联的页面。在此实体页面上,您会找到生成该页面的实体的截图。 

页面左侧是该实体可用的*操作*列表。这些操作对应于实体提供的业务方法。

 

这是单击“LoadAll”按钮时为 Contact 实体显示的屏幕。它通过支持排序和分页的 Ajax 网格列出了所有联系人。从中您可以查看详细信息、编辑或删除联系人。

 

当单击“编辑”按钮时,会显示一个编辑表单,无需离开页面即可显示。

 

使用 ASP .NET WebForms 生成器生成的 UI 

使用 WebForms 技术也与 CodeFluent Entities 兼容。

默认生成的首页列出了所有命名空间及其包含的实体。

 

单击实体会进入实体页面。在此实体页面上,您会找到生成该页面的实体的截图。

页面左侧是该实体可用的*操作*列表。这些操作对应于实体提供的业务方法。

 

这是单击“LoadAll”按钮时为 Contact 实体显示的屏幕。它通过 HTML 表格列出了所有联系人并支持排序。从中您可以编辑或删除联系人。

 

当单击“编辑”按钮时,会显示一个弹出窗口,其中包含一个用于编辑我们实体的表单。

 

使用 Smart Client (WPF) 生成器生成的 UI 

我们已经看到了 Web 和 Windows 8 UI 的外观。CodeFluent Entities 也可以为 WPF 等桌面应用程序提供 UI 生成器。

默认生成的第一个屏幕列出了所有命名空间及其包含的实体。

 

单击实体将加载与其对应的所有数据:您可以创建、编辑或删除条目。

 

单击条目将打开一个窗口来编辑它。您可以编辑实体的简单类型属性,也可以将相关实体附加到您正在修改的实体。

 

使用 SharePoint WebParts 生成器生成的 UI 

对于那些使用 SharePoint 的人来说,有一个 SharePoint 的 UI 生成器可用。

默认生成的首页列出了所有命名空间。

 

单击命名空间后,我们可以访问命名空间内的实体列表。

 

单击实体会进入实体页面。它通过 Web Part 列出了该实体所有的数据。您可以在其中创建新条目、查看详细信息、编辑或删除现有条目。

例如,单击条目会显示其详细信息。

 

最后,单击“编辑”按钮会显示一个表单,以便我们可以编辑相关实例。

 

结论

如您所见,我们从同一个模型生成了几个 UI,它们彼此之间都是一致的。

此外,借助平台无关表单编辑器,您还可以直接在实体上定义表单,然后这些表单将由用户界面生成器转换为实际屏幕。我们在本文中对此进行了详细介绍。

CodeFluent Entities 应用“持续生成”的原则。

您可能希望让您的项目发展,例如:

  • 向模型添加新实体。
  • 为特定实体属性指定业务验证规则。
  • 为一种或多种实体构建精简视图。
  • 本地化您的应用程序。
  • 提供基于 SOAP 的 Web 服务 API。
  • 创建 Windows Phone 应用程序。
  • 创建 Silverlight 或 WPF 智能客户端。
  • 设置 MVC 网站。

对模型进行的任何更改都将传播到您应用程序的每个。CodeFluent Entities 为每个功能提供了默认配置,可以扩展自定义以满足您的需求。

最后,如果您没有找到所需的生成器,我提醒您,您可以创建自己的模板并将其与模板生成器一起使用,甚至可以创建自己的自定义生成器。您需要做的就是实现 IProducer 接口。

总而言之,CodeFluent Entities 能够通过使用正确的生成器生成具有您选择的 UI 的 100% 功能齐全的应用程序。

资源

CodeFluent Entities 是一款成熟的产品,您可以找到各种资源并了解有关 CodeFluent Entities 的所有信息。

祝好,

Pablo Fernandez

© . All rights reserved.