asp.net-mvc – 如何在实体框架中为GUID设置NewId()
发布时间:2020-05-24 09:06:01 所属栏目:asp.Net 来源:互联网
导读:我正在创建asp.net mvc4示例.在此我创建了ID列作为GUID在表格的datacontext. public class Sample{ [Required] public Guid ID { get; set; } [Required] public string FirstName { get; set; }} 这是实体表 CreateTable(
|
我正在创建asp.net mvc4示例.在此我创建了ID列作为GUID在表格的datacontext. public class Sample
{
[Required]
public Guid ID { get; set; }
[Required]
public string FirstName { get; set; }
}
这是实体表 CreateTable(
"dbo.Samples",c => new
{
ID = c.Guid(nullable: false),FirstName = c.String(nullable: false)
})
.PrimaryKey(t => t.ID);
Id通过00000000-0000-0000-0000-000000000000. 如何将newid()设置为GUID以及我必须设置的位置. 解决方法我建议只使用长时间的ID类型.它与“GUID”相匹配,并具有一定的性能提升.但是,如果要使用GUID,您应该使用 Sequential GUID并将其设置在构造函数中.我也会将ID设为私人设定者:public class Sample
{
public Sample() {
ID = GuidComb.Generate();
}
[Required]
public Guid ID { get; private set; }
[Required]
public string FirstName { get; set; }
}
顺序GUID public static class GuidComb
{
public static Guid Generate()
{
var buffer = Guid.NewGuid().ToByteArray();
var time = new DateTime(0x76c,1,1);
var now = DateTime.Now;
var span = new TimeSpan(now.Ticks - time.Ticks);
var timeOfDay = now.TimeOfDay;
var bytes = BitConverter.GetBytes(span.Days);
var array = BitConverter.GetBytes(
(long)(timeOfDay.TotalMilliseconds / 3.333333));
Array.Reverse(bytes);
Array.Reverse(array);
Array.Copy(bytes,bytes.Length - 2,buffer,buffer.Length - 6,2);
Array.Copy(array,array.Length - 4,buffer.Length - 4,4);
return new Guid(buffer);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET实现二维码
- asp.net – Visual Studio 2012:无法附加进程.已附加调试器
- asp.net-mvc – 使用Visual Studio和ASP.NET MVC加载时间非
- ASP.NET MVC图像上传存储位置(db vs filesystem)
- 通过asp.net 4.0中的“EnableViewState”和“ViewStateMode
- asp.net-mvc – 您可以使用IOC容器将依赖项注入自定义WebVi
- asp.net-mvc-3 – MVC3未终止字符串常量语法错误
- asp.net-mvc – ASP.NET MVC的一个路由,两个不同的视图
- asp.net-mvc – 使用ASP.NET MVC的RESTful Web服务
- if-statement – 如何在VBScript for Classic-ASP中单行执行
推荐文章
站长推荐
- 实体框架 – 如何添加外部参考ASP.Net MVC 5身份
- asp.net-mvc – 使用Knockout JS MVC服务器端模型
- asp.net-mvc – 使用AWS .NET SDK进行SNS订阅确认
- asp.net-mvc – MVC4 RC WebApi参数绑定
- ASP.NET MVC是一个大的企业项目的不好的选择吗?
- asp.net-mvc – 使用Ninject重构依赖注入的ASP.N
- 验证 – ASP.NET MVC 4避免生成datetime的data-v
- asp.net-mvc – 混合spark和webform视图引擎
- asp.net-mvc-4 – 后退点击刷新页面 – MVC 4
- asp.net – 来自asp app的流媒体mime类型’appli
热点阅读
