C# 分配唯一id,并用作密钥。asp.NETMVC模式
我正在用ASP.NET MVC创建一个注册表单,我想为每个新条目分配一个ID,并将其用作主键 我已经开始用名字、姓氏、电话等创建我的模型 所以我的问题是如何在我的模型中写下这个C# 分配唯一id,并用作密钥。asp.NETMVC模式,c#,asp.net-mvc,model,C#,Asp.net Mvc,Model,我正在用ASP.NET MVC创建一个注册表单,我想为每个新条目分配一个ID,并将其用作主键 我已经开始用名字、姓氏、电话等创建我的模型 所以我的问题是如何在我的模型中写下这个 [Required(ErrorMessage = "Field is missing")] [StringLength(20, MinimumLength = 1)] public string FirstName { get; set; } .... [Key] When new entry is created,
[Required(ErrorMessage = "Field is missing")]
[StringLength(20, MinimumLength = 1)]
public string FirstName { get; set; }
....
[Key]
When new entry is created, assign a Unique ID.
或者这是控制器应该解决的问题,例如,可以创建一个键和一个“int PersonID”?如果使用数据库优先方法,则可以定义Id integer并设置为Identity=Yes 因此,数据库会自动增加Id。在此方法中,您可以如下定义Id:
public string Id { get; set; }
或者,如果要使用“代码优先”方法:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
为什么不使用内置标识框架?这应该能解决所有的问题。无论如何,对于自定义模型,您可以使用GUID作为键,并将新GUID分配给构造函数上的键。出于学习目的,我正在尝试自己编写尽可能多的GUID:)好的,我将尝试读取GUID。谢谢您您可以使用
[数据库生成(DatabaseGeneratedOption.Identity)]
标记您的属性。看见