我手动创建我的GUID,将其存储到数据库中,如此
Guid EmailToken = Guid.NewGuid;
我尝试将其存储在SQL的uniqueidentifier
字段中,其中LINQ类似
using (DBDataContext DB = new DBDataContext()) {
Member M = new Member { ActEmlGuid = EmailToken };
DB.Members.InsertOnSubmit(M);
DB.SubmitChanges();
}
不幸的是,SQL现在具有与我创建的GUID不同的GUID。 为什么会这样?我怎么能克服这个?我不希望SQL为我创建GUID。
以下是SQL字段的属性
答案 0 :(得分:0)
ok chocol8(grt name btw !!)。
如果您首先使用EF代码,则可以在guid上将以下内容添加到模型中。
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ActEmlGuid { get; set; }
这将启用sqlserver(服务器端)guid生成,从而使您能够按计划使用正确的字段类型。
这是一个棘手的小坚果,因为这很大程度上取决于你与数据库交互的机制,但希望上面的内容将以某种方式作为指导,否则,我的坚果。 ToString()选项(在评论中提到)可能会让你在短期内摆脱困境 - 当然不可取。
[edit] - 如果您没有使用EF,那么您可以更新您的架构(在上面的OP中的属性页面中)并添加:
答案 1 :(得分:-1)
试试这个
Member M = new Member();
M.ActEmlGuid = Guid.NewGuid;
DB.Members.Add(M);
DB.SaveChanges();