当前位置: 首页 > news >正文

潍坊哪里可以做网站兰州网页制作公司网站

潍坊哪里可以做网站,兰州网页制作公司网站,网站开发 上海,保定酒店网站制作使用C#语言编写的应用程序可以通过.NET Framework框架提供的Version类来控制每次发布的版本号,以便更好控制每次版本更新迭代。 版本号由两到四个组件组成:主要、次要、内部版本和修订。 版本号的格式如下所示, 可选组件显示在方括号 ([ 和…

使用C#语言编写的应用程序可以通过.NET Framework框架提供的Version类来控制每次发布的版本号,以便更好控制每次版本更新迭代。

版本号由两到四个组件组成:主要、次要、内部版本和修订

版本号的格式如下所示, 可选组件显示在方括号 ([ 和 ]) 中:

major.minor[.build[.revision]]

可以使用指定的主版本号、次版本号、内部版本号和修订号初始化 Version 类的新实例。

示例:

// 实例
Version(Major, Minor, Build, Revision);/*
其中, 
Marjor:主要版本号
Minor:次要版本号
Build:内部版本号
Revision:修订号new Version(1, 0, 0, 1); 
或
new Version("1.0.0.1");
*/

C# 代码片段:

/ 创建Version类对象
var version = new Version("1.0.0.1");/* 注:使用Version类作为EF实体对象属性的类型进行映射,对应SQL Server表的字段类型为:binary(16) */

因实际业务需要将应用程序每次更新的版本号信息持久化存储在SQL Server数据库中,Entity Framework实体框架允许使用 Version类 作为属性类型直接映射。

注:Entity Framework 简称EF。

EF实体框架对映射 Version 类型值自动转换成SQL Server数据库中的固定长度(16位)二进制类型(binary)值进行存储。

对Version类型映射转换binary(16)类型值分析:

存储到SQL Server数据表中版本号值(转换后)格式:0x0000000100000000[0000000000000000]。

需要分别对每位的版本号值(十进制)进行十六进制数转换,再对每个版本号(十六进制数)组合成新的十六进行制数值。

如:

版本号:1.0.0.1

转换十六进制:

       1                          0                         0                     1

0x00000001      0x00000000      0x00000000      0x00000001

组合新的十六进制数(注:除了从左到右第一位保留"0x"十六进制前缀外,其他版本号转换都去掉前缀):

0x00000001000000000000000000000001

SQL Server 数据库没有提供C#语言Version类生成的二进制类型值(binary)的转换函数,为了实现通过编写SQL语句来插入可以互动转换Version类型的数据,自定义了版本号转换binary类型的处理函数(dbo.versionstrtobinary)。

SQL代码:

/*
功能:将版本号(如:1.0.0.1)转换为长度为 16 个字节的固定长度二进制(binary)数据处理
说明:C#开发语言使用的Version类型值(即:版本号)转换成SQL Server数据库中存储二进制类型[binary]处理
*/
IF EXISTS (SELECT * FROM sys.objects WHERE NAME='versionstrtobinary')DROP FUNCTION dbo.versionstrtobinary;
GO
CREATE FUNCTION dbo.versionstrtobinary
(@version varchar(max)
)
RETURNS binary(16)
AS
BEGINDECLARE @value intDECLARE @bin binary(16)DECLARE @binStr nvarchar(max)DECLARE @minor varchar(max)   -- 版本号DECLARE @versionStr nvarchar(max) = @version;DECLARE @j int = 1;DECLARE @i int = 0;set @i = CHARINDEX('.', @versionStr); DECLARE @flag bit = 1;WHILE @flag = 1BEGINif (@i = 0)BEGINSET @minor = @versionStr;ENDELSEBEGIN-- 截取版本号值set @minor = SUBSTRING(@versionStr, 1, @i-1);END-- 将版本号值转换为int类型set @value = CAST(@minor as int);-- 注:sys.fn_varbintohexsubstring()函数第1个参数表示是否保留0x前缀,1为保留,0为不保留if (@j = 1)BEGIN            set @binStr = sys.fn_varbintohexsubstring(1, CONVERT(VARBINARY(50), @value), 1, 0);ENDelseBEGINset @binStr = @binStr + sys.fn_varbintohexsubstring(0, CONVERT(VARBINARY(50), @value), 1, 0);ENDset @versionStr = SUBSTRING(@versionStr, @i+1, LEN(@versionStr) - @i);set @i = CHARINDEX('.', @versionStr);if (@j = LEN(@version) - 3)BEGINbreak;ENDset @j = @j + 1;ENDset @bin = convert(binary(16), @binStr, 1);  -- 如果字符串前面有0x字符,那么使用风格1(设置style=1);如果字符串前面没有0x字符,那么使用风格2(设置style=2)RETURN @bin
END-- 测试函数(0x00000001000000000000000000000006)
select dbo.versionstrtobinary('1.0.0.6');-- 插入Version类型数据SQL语句INSERT Versions (Version) VALUES (dbo.versionstrtobinary('1.0.0.1')); GO

参考资料:

Version 类 (System) | Microsoft Learn

binary 和 varbinary (Transact-SQL) - SQL Server | Microsoft Learn

http://www.yayakq.cn/news/343367/

相关文章:

  • 优秀门户网站欣赏wordpress顶部插件
  • 网站登录系统怎么做做一个聊天软件多少钱
  • 运维负责做网站吗建设一个网站需要什么硬件
  • 电商网站前端页面内容编写网站建设360元起全包
  • 登尼特网站建设服务网络广告策划公司
  • 四川网站开发网站没有备案怎么申请广告
  • 湖南网站制作外包有什么好的建站公司
  • 河南优化网站济南媒体记者
  • 做瞹瞹嗳网站深圳公司注册地址变更
  • 建网站引流做淘宝百度官方网站怎么做
  • 合肥专门做网站深圳购物商城网站建设
  • 出口外贸交易平台海外seo
  • 安康公司网站制作权威seo技术
  • 福田做网站报价北京南站
  • 网站建设用自助建站系统好不好wordpress伪静态卡死
  • 创建网站的注意事项wordpress页面的排序
  • 南昌手机建站模板epr系统
  • wordpress默认主题twenty专业seo公司
  • 达濠市政建设有限公司网站网站模板找超速云建站
  • 网站可以做动画轮播吗seo上海网站推广
  • 塘厦网站建设公司专门找人做软件的网站
  • 公司网站建设行业怎么样网站建设开发语言和使用工具
  • 沧州网站建设外贸北京推广平台
  • php 打开网站广告制作公司怎么拉业务
  • 做那种事免费网站哪些网站使用wordpress
  • 做社情网站犯法怎么办网站推广的正确方式
  • 怎么建立微信网站无锡网站建设外贸
  • 怎么建设自己网站的后台一家专门做护肤的网站
  • 做网站以前出名的公司本地网站建设多少钱
  • dw网站建设教程视频昆明发布最新通告