首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OQL上使用UPDLOCK锁定查询结果,安全的更新实体数据

SqlServer查询记录的时候提供多种锁定方式,其中UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。...有时候我需要控制某条记录在我读取后就不许再进行更新,那么我就可以将所有要处理当前记录的查询都加上更新锁,以防止查询后被其它事务修改.将事务的影响降低到最小。...假设有一个投资产品表,当我们查询到该产品记录后,要进行一系列的判断,最后对该记录进行更新。该记录的状态会影响到下一个人查询到此记录的处理。...db.Commit(); 上面的操作,首先在AdoHelper对象上开启事务,然后查询投资产品实体的时候With方法上加上 OQL.SqlServerLock.UPDLOCK 更新锁,接着进行复制的业务处理...,然后更新实体记录,之后还有复杂的其它业务操作,最后提交事务。

1.8K10

BaaS API 设计规范

该数组中的每一个对象都是要更新实体对象。...保存聚合子 设计建议:需要更新聚合子实体时,如果公布了聚合子资源 API,那么应该首选这个资源来实现保存。否则,才可以更新聚合父实体时,同时更新它的聚合子实体。...· 其它查询 每一个特殊查询,都需要提供相应的特殊查询地址。必须参数以URI Part 的形式给出,可选参数则以查询字符串的形式给出。...optionalParam1=1 · OData 查询 设计建议:尽量不要提供OData查询。 如果要提供OData查询API,必须考虑查询的权限的限制,同时不要公布排序接口,否则性能可能会很差。...例如,查询用户与角色的合集,可以使用新的资源地址:/userRoles/。 2.3.2. 业务型操作 业务型操作表示可能跨越多个资源的逻辑操作。服务器端直接提供的服务。

3.1K111
您找到你想要的搜索结果了吗?
是的
没有找到

Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)

OData提供了一种统一的方式来组织数据,查询数据,并通过操纵CRUD操作的数据集(创建,读取,更新和删除)。   OData同时支持AtomPub(XML)和JSON格式。...本教程中,您将创建一个简单的可供客户端可以查询OData终结点。您还可以创建一个C#客户端的终结点。本教程使用的Visual Studio2013。...添加一个实体模型  一个model就是应用程序中展现数据的一个对象。本教程中,我们需要一个展现产品的模型。这个模型对应着我们的OData实体类型。...OData服务中你为每个实体数据集定义一个独立的控制器。本教程中我们将创建一个单一的控制器。 解决方案资源管理器中,右键单击控制器文件夹。选择添加,然后选择控制器....:3629/odata/$metadata,直接通过浏览器 3、为了通过ID来获取某一个实体http://localhost:3629/Odata/Products(1) 4、可以发现默认得到的数据格式是

96531

架构之:REST和RESTful

这些资源通过通用的获取方式来进行获取和操作。比如对资源的CURD可以分别用不同的HTTP method来表示(PUT,POST,GET,DELETE)。...Client–server 客户端和服务器端独立 另外的一条规则就是客户端和服务器端独立,客户端和服务器端互不影响,他们之间的唯一交互就是API的调用。...所以用户的状态信息是客户端进行保存和维护的,客户端需要在每个接口带上可以识别用户的唯一标记,从而在服务器端进行认证和识别,从而获取到对应的资源。...entity的某个属性: GET https://services.odata.org/TripPinRESTierService/Airports('KSFO')/Name 使用filter进行查询:.../TripPinRESTierService/People('russellwhyte') 更新数据: PATCH https://services.odata.org/TripPinRESTierService

89540

ASP.NET Web API对OData的支持

开放数据协议(OData)是一个查询更新数据的Web协议。OData应用了web技术如HTTP、Atom发布协议(AtomPub)和JSON等来提供对不同应用程序,服务和存储的信息访问。...除了提供一些基本的操作(像增删改查),也提供了一些高级的操作类似过滤数据和实体的导航。OData扩展了上述的协议但是不是取代他们。...某种意义上,它建立'简单'的REST HTTP 服务上,并且有着清晰的目标——简化和标准化我们操作和查询数据的方式。...取代创建客户端签名和参数,我们问了如下的问题:“如果你将数据集作为源处理,并为最频繁使用的操作定义模式,像查询、分页、排序、新建、删除和更新,服务接口因该是什么样子的?” 这也就导致OData的创建。...$filter=MeetingDate eq datetime’2013-01-17′ 项目中启用OData查询,首先在项目加入Web API的OData支持,通过Nuget 查找ASP.NET Web

2.6K50

微软大力支持开放数据协议(OData)

InfoQ有篇文章OData是应用程序协作的通用语言吗?,文章中提到了什么是OData:开放数据协议(OData)是一个查询更新数据的Web协议。...文章还提到了微软开放数据协议OData上的应用,也提到了google采用的Google的数据交换协议:GData (Google Data APIs Protocol),微软Azure平台上引入了开发代号名为...微软另一项技术里头WCF Data Service,之前叫做ADO.NET Data Service也使用的是OData协议。...开放数据协议(OData)微软的平台上占据了一个比较重要的位置,WCF是过于底层的技术,RIA中开发面向数据驱动的应用程序(EF访问数据,WCF直接暴露实体实体操作的方法),直接使用WCF技术或多或少会遇到不适应的情况...还有更强悍的Silverlight: WCF RIA Services,OData我们的开发中使用的将越来越多。

1.3K90

架构之:REST和RESTful

这些资源通过通用的获取方式来进行获取和操作。比如对资源的CURD可以分别用不同的HTTP method来表示(PUT,POST,GET,DELETE)。...Client–server 客户端和服务器端独立 另外的一条规则就是客户端和服务器端独立,客户端和服务器端互不影响,他们之间的唯一交互就是API的调用。...所以用户的状态信息是客户端进行保存和维护的,客户端需要在每个接口带上可以识别用户的唯一标记,从而在服务器端进行认证和识别,从而获取到对应的资源。...entity的某个属性: GET https://services.odata.org/TripPinRESTierService/Airports('KSFO')/Name 使用filter进行查询:.../TripPinRESTierService/People('russellwhyte') 更新数据: PATCH https://services.odata.org/TripPinRESTierService

48630

OData和NHibernate结合进行动态查询

OData是一个非常灵活的RESTful API,如果要做出强大的查询API,那么OData就强烈推荐了。...http://www.odata.org/ OData的特点就是可以根据传入参数动态生成Entity Framework的查询,最终实现动态的SQL的查询。...但是项目有时我们并没有采用Entity Framework,而是采用的NHibernate,那么该怎么用OData呢? 经过一段时间的Google和研究,终于找到了一个好的方案。...OData API查询时,用户前端是url跟参数,但是服务器端,我们是接收到的是一个ODataQueryOptions对象,其实我们需要做的就是把这个对象进行解析,生成NHibernate能够理解的查询形式...,我们应该会有两个查询,一个是查询满足条件的数据总条数,另一个是返回当前页的数据集。

38710

C#进阶系列——WebApi 接口参数不再困惑:传参详解上

前言:还记得刚使用WebApi那会儿,被它的传机制折腾了好久,查阅了半天资料。如今,使用WebApi也有段时间了,今天就记录下API接口传的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路。...2、实体作为参数 如果我们get请求时想将实体对象做参数直接传递到后台,是否可行呢?我们来看看。...由上图可知,get请求时,我们直接将json对象当做实体传递后台,后台是接收不到的。这是为什么呢?我们来看看对应的http请求 ?...(2)WebApi的方法名称不以get开头 我们把之前的方法名由GetByModel改成FindByModel,这个再正常不过了,很多人查询就不想用Get开头,还有直接用Query开头的。...2、实体作为参数 (1)单个实体作为参数 上面我们通过dynamic类型解决了post请求基础类型数据的传递问题,那么当我们需要传递一个实体作为参数该怎么解决呢?

4K80

【API架构】REST API 行业辩论:OData vs GraphQL vs ORDS

我们对比了 OData、GraphQL 和 ORDS 之间的区别,它们是用于通过 Internet 查询更新数据的标准 API 和服务。...通过 Internet 查询数据的标准 API OData OData 最初由 Microsoft 于 2007 年开发,是一种 OASIS 标准 REST API,建立 Microsoft、SAP...API 版本控制和维护 一个令人头疼的问题是 API 更改时处理应用程序的更新,同时还要维护旧版本。导致 REST API 令人头疼的最大问题是,当您查询端点时会返回所有字段。...并且这种行为不同实现的基础上可能会有所不同。 相比之下,当您使用 orderBy 查询参数时,OData 会准确地告诉您它的行为方式,因为它的行为被定义为规范的一部分。...对于习惯于处理 Web 服务的人来说,GraphQL 也可能有点尴尬,因为为了查询数据,您不需要执行 GET 操作,这就是您从普通 REST Web 服务获取结果的方式。

2.1K30

从Node.js查询PostgreSQL数据

从Node.js查询PostgreSQL数据 API服务器公开允许连接数据的Web服务。使用CData API服务器的OData端点对Node.js中的PostgreSQL数据执行CRUD查询。...HTTP请求从Node.js查询。...设置API服务器 按照以下步骤开始生成安全的PostgreSQL OData服务: 部署 API服务器您自己的服务器上运行。Windows上,您可以使用独立服务器或IIS进行部署。...然后,您可以通过单击“设置” - >“资源”选择要允许API服务器访问的PostgreSQL实体。 授权API服务器用户 确定要生成的OData服务后,通过单击“设置” - >“用户”来授权用户。...从Node.js消耗PostgreSQL ODataOData源很容易Node.js中工作。您可以使用Node.js中的HTTP客户端从API服务器的OData端点请求JSON格式的数据。

3.4K10

【REST架构】OData、JsonAPI、GraphQL 有什么区别?

我对这两种查询语言都没有太多经验。据我所知,OData 是 Salesforce、IBM、Microsoft 使用的标准,并且非常成熟。为什么要切换到 JsonAPI 和/或 GraphQL?...根据受欢迎程度更改公共 api 实现似乎没有用,尤其是没有太大好处的情况下。 有人可以启发我吗? 答案: OData 是与 JSON API 类似的规范。...GraphQL 是一种完全不同的 API 设计方法,并指定了一种查询 API 资源的不同方式。 OData: 自 2007 年以来 Microsoft 设计和开发,由 OASIS 联盟标准化。...JSON API 规范适用于大多数编程语言,包括客户端和服务器端。 JSON API 通过 JSON 文档中的链接属性支持 HATEOAS。其他功能包括分页、排序、过滤和关系。...总之,OData 和 JSON API 都是 JSON 数据格式,它们在数据周围添加上下文和特征(例如链接),GraphQL 是一种完全不同的查询和变异 JSON 数据的新方法,而 OpenAPI 是声明和记录任何数据的标准方法

1.5K20

Microsoft REST API指南

支持GET方法的资源也可能支持HEAD方法 | True | PATCH | 更新对象部分应用 | False | OPTIONS | 获取关于请求的信息;详见下文。...增量查询 Delta queries 服务可以选择支持Delta查询。 [*]译者注:增量查询可以使客户端能够发现新创建、更新或者删除的实体,无需使用每个请求对目标资源执行完全读取。...概念层面上,delta链接基于一个定义查询,该查询描述正在跟踪更改的一组结果集。 delta链接编码并跟踪这些更改的实体集合,以及跟踪更改的起点。...Entity representation 添加和更新实体使用其标准表示实体集中表示。 从集合的角度来看,添加或更新实体之间没有区别。...Obtaining a delta link 通过查询集合或实体并附加 $delta 查询字符串参数来获得 Delta 链接。

4.6K10

WCF Data Services 5.0 和 EF 4.3 Code First

WCF Data Services 5.0已经4月9日发布,支持OData V3版本的协议。之前版本的WCF Data Services是随.NET FX 4.0发布的,这次是单独提供了安装包下载。...新特性主要用于支持开放式数据协议(OData)版本3中的增强部分。...以下是部分有趣的特性: 词汇表(Vocabularies) —— 标注,主要为使用OData发布的数据提供更丰富的描述(例如,类型验证/范围/显示相关的元数据); 操作提供器(Action Providers...负载进行序列化和反序列化; EdmLib—— 构建服务的EDM以用于OData序列化/反序列化,其中包括支持标注; 支持Any/All查询(目前还不支持联接Join)。...config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;     }   } } Visual Studio 2010 中的实体框架

85970

Data Access 之 MyBatis Plus(一)- BaseMapper CRUD(Part B)

Key是数据库中的字段名,不是实体类的属性名。...) Wrapper queryWrapper); MyBatis Plus提供了两个分页查询的方法,两个方法中都有一个Wrapper 参数,Warpper是MP中的条件构造器, Data...Access 之 MyBatis Plus(二)- Wrapper 条件构造器 会提到,这里先设置为null selectPage方法入中另外一个参数是一个IPage的实现类;可以使用IPage的实现类...Page作为分页查询的页面配置 图片 Page提供了几个构造函数以及一些获取当前页、判断是否有上一页或下一页以及总页数总记录数等方法 图片 TeslaMapperTest中增加分页测试方法 @Test...select/update/insert/delete 节点,主要描述的是一条 SQL 语句 SqlMethod : 枚举对象 ,MP 支持的 SQL 方法 TableInfo:数据库表反射信息 ,可以获取到数据库表相关的信息

40610

使用OData协议查询Windows日志

云计算时代,web应用已经是主流,程序主要通过HTTP Request来表达需求,通过HTTP Response来获取结果,ODBC和OLE DB都已无法使用。...微软于是开发了其第三代数据交互协议:OData开放数据协议。    SOA的世界中,最重要的一个概念就是契约(contract)。云计算的世界中,有关通信的最重要的概念也是契约。...缺乏对数据查询的控制能力,比如返回特定的数据集合的区间,或者说分页能力等等。...Dallas所使用的数据交互协议就是OData。    微软的解决方案中,是用WCF来处理所有程序间的通信,针对数据通信,WCF Data Services自然是最好的选择。...数据数据,这个工具的获取和安装可以参看VS2010的扩展。

97390

Salesforce Integration 概览(七) Data Virtualization数据可视化

但是销售代表希望Salesforce中查看和更新实时订单信息,而不必学习和使用外部系统。 二....•是否将数据存储云端或后台系统中,但希望Salesforce组织中显示或处理这些数据? •Salesforce中存储某些类型的数据时,您是否有数据驻留问题? 三....访问外部对象从外部系统实时获取数据。Salesforce Connect允许您: •查询外部系统中的数据。 •在外部系统中创建、更新和删除数据。...要使用Salesforce Connect访问存储在外部系统上的数据,可以使用以下适配器之一: •OData 2.0适配器或OData 4.0适配器-连接到任何OData 2.0或4.0生产商公开的数据...外部对象也可用于Apex、SOSL、SOQL查询、salesforceapi,以及通过元数据API、变更集和包进行部署。

1.8K20

如何根据角色批量激活SAP Fiori服务

在这里面就可以根据多种方式查询出相关的Fiori apps,在这里我们选择通过角色by Roles来查询: ? 这样就可以通过名称查询出角色: ?...当然你也可以通过其他方式,但最终的目的都是一样,获取我们需要的角色名称,有了这个角色名称,我们就可以通过它在GUI里面进行激活相关的ICF Services和OData Services: 以角色:SAP_BR_CASH_MANAGER...为例: 可以在网站上查询到相关的icf服务以及Odata服务名称: ?...执行之后,选中第一个复选框,点击输入参数按钮: ? 输入我们想要激活的角色,当然这里也可以输入多条角色,建议一次性不要超过100条: ? 输入之后,点击“Job”按钮执行 ?...从执行任务列表里面可以看到系统会同步激活icf和odata服务: ? 执行完成: ? 事务代码:/N/IWFND/MAINT_SERVICE 可以看到相关的Odata服务已经激活了: ?

98730
领券