web 应用程序中的一个常见场景是这样的:从数据库中加载某个实体,将其存储在会话中,然后在后续请求中,从那里获取它并继续使用它。这一切都很好,除了,如果您使用的是实体框架代码优先,您将不会在两个请求上使用相同的上下文实例。这个新的上下文对这个实例一无所知。在这种情况下,据说实体相对于上下文是分离的。这样做的效果是,不会跟踪对此实例的任何更改,也不会加载在会话中存储时未加载的任何延迟加载属性。
web 应用中的一个常见场景是这样的:从数据库中加载某个实体,将其存储在会话中,然后在后续请求中,从那里获取它并继续使用它。这一切都很好,除了,如果您使用的是实体框架代码优先,您将不会在两个请求上使用相同的上下文实例。这个新的上下文对这个实例一无所知。在这种情况下,据说实体相对于上下文是分离的。这样做的效果是,不会跟踪对此实例的任何更改,也不会加载在会话中存储时未加载的任何延迟加载属性。
* 一些。其他一些数据库不支持. NET 类型,例如枚举类型、Guid、[数据库几何](http://msdn.microsoft.com/en-us/library/system.data.spatial.dbgeometry.aspx)和[数据库地理](http://msdn.microsoft.com/en-us/library/system.data.spatial.dbgeography.aspx)。
* 数据库数据类型,即使概念上相同,也有不同的名称。例如,SQL Server 中的可变长度 Unicode 字符串称为 NVARCHAR,而在 Oracle 中则称为 VARCHAR2。需要指定时要小心。
* 一些等价类型略有不同。例如,在 SQL Server 中,dateTIME 属性可以转换为同时具有日期和时间部分的 DateTime 列,但是在 Oracle 中,当转换为 DATE 列时,它将只具有日期部分。另一个例子是,DateTimeOffset 甚至在 Oracle 和其他应用程序中也有对等项,但在 SQL Server 2005 上没有。
* 一些等价类型略有不同。例如,在 SQL Server 中,dateTIME 属性可以转换为同时具有日期和时间部分的 DateTime 列,但是在 Oracle 中,当转换为 DATE 列时,它将只具有日期部分。另一个例子是,DateTimeOffset 甚至在 Oracle 和其他应用中也有对等项,但在 SQL Server 2005 上没有。
* 用于并发检查的 [TimestampAttribute](http://technet.microsoft.com/en-us/library/ms182776.aspx) 所隐含的 [ROWVERSION](http://technet.microsoft.com/en-us/library/ms182776.aspx) 类型,或者更好地说,它的工作方式,也只存在于 SQL Server 系列中。
通常,您不需要显式声明类型;编译器将从函数中文字的类型和它调用的其他函数的结果类型中计算出一个值的类型。如果一切正常,编译器会将类型保留给自己;只有当存在类型不匹配时,编译器才会通过报告编译错误来通知您。这个过程一般被称为*式推理*。如果你想更多地了解程序中的类型,可以用`–i`开关让编译器显示所有推断的类型。Visual Studio 用户将鼠标指针悬停在标识符上时,会获得显示类型的工具提示。
PicoMvc 旨在将 F#函数映射到 URL 和 HTTP 动词。这个想法是,基本框架独立于 web 服务器和主机平台,但是我们提供了钩子,允许您将 PicoMvc 插入现有平台。目前,唯一存在的钩子是将 PicoMvc 插入 ASP.NET 平台,这是通过一个名为`PicoMvcRouteHandler`的类来完成的,它是一个 ASP.NET 路由处理器。这个想法是,您向 ASP.NET 运行时注册这个路由处理程序,它提供了所有的管道,用于将 ASP.NET HTTP 处理程序将接收的调用和请求映射到您通过 PicoMvc 定义的处理程序函数。
PicoMvc 旨在将 F#函数映射到 URL 和 HTTP 动词。这个想法是,基本框架独立于 web 服务器和主机平台,但是我们提供了钩子,允许您将 PicoMvc 插入现有平台。目前,唯一存在的钩子是将 PicoMvc 插入 ASP.NET 平台,这是通过一个名为`PicoMvcRouteHandler`的类来完成的,它是一个 ASP.NET 路由处理器。这个想法是,您向 ASP.NET 运行时注册这个路由处理程序,它提供了所有的管道,用于将 ASP.NET HTTP 处理程序将接收的调用和请求映射到您通过 PicoMvc 定义的处理程序函数。
因为`PicoMvcRouteHandler`只是一个普通的 HTTP 处理程序。它要求您在`global.asax`中向 ASP.NET 运行时注册它:
稍后我们将介绍一些实际的例子,但现在我将列出我使用过或看到过的工具包。然而,请注意,这不是一个详尽的清单。我描述的工具包都是为在下使用而设计的。NET 在 Windows 平台上实现。正如我所提到的,像 QGIS 这样的应用程序可以被极大地扩展,在 Linux 和 Mac 系统下有许多工具包是我还没有也可能不会涉及的。如果你正在开始一个项目,你知道你将要写定制的用户界面,提前做你的研究。您可以修改现有的应用程序来满足您的需求,而不是从头开始编写它们。
稍后我们将介绍一些实际的例子,但现在我将列出我使用过或看到过的工具包。然而,请注意,这不是一个详尽的清单。我描述的工具包都是为在下使用而设计的。NET 在 Windows 平台上实现。正如我所提到的,像 QGIS 这样的应用可以被极大地扩展,在 Linux 和 Mac 系统下有许多工具包是我还没有也可能不会涉及的。如果你正在开始一个项目,你知道你将要写定制的用户界面,提前做你的研究。您可以修改现有的应用来满足您的需求,而不是从头开始编写它们。
@@ -267,7 +267,7 @@ BruTile 可以用于任何类型的项目,从 web 和 Silverlight,到高端
对于编程示例,我将在 Visual Studio 2010 Professional 中使用 C#语言的夏普映射。样品可从[bitbucket.org/syncfusion/gis-succinctly](https://bitbucket.org/syncfusion/gis-succinctly)下载。
除了支持所有类型的数据之外,在非关系存储(如 Hadoop)和关系数据仓库之间来回移动数据也是大数据客户的主要使用模式之一。为了支持这种常见的使用模式,微软为存储在 Hadoop 和现有的 SQL Server 数据仓库环境(包括 SQL Server 并行数据仓库)中的数据之间的高速数据移动提供了连接器。
...
...
@@ -34,7 +34,7 @@
对于 Windows Azure 上的服务,微软将通过 Azure 管理门户的易用组件实现 Hadoop 集群的无缝设置和配置,从而进一步降低部署障碍。