entity-framework - EntityFramework 使用值 "00000000-0000-0000-0000-000000000000"填充唯一标识符

标签 entity-framework uniqueidentifier

在我的 WCF 服务中,我使用 Entity Framework .NET 4.0,
在我的数据库中,我有这个表:

CREATE TABLE [dbo].[Tracking](
    [TrackingID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,   
    ...
 CONSTRAINT [PK_Tracking] PRIMARY KEY CLUSTERED 
(
    [TrackingID] ASC
)
) ON [DATA]
ALTER TABLE [dbo].[Tracking] ADD  CONSTRAINT [DF_Tracking_TrackingID]  DEFAULT (newid()) FOR [TrackingID]
GO

当我插入记录时, Entity Framework 已将 TrackingID 预填充为“00000000-0000-0000-0000-000000000000”。我已将字段属性设置为 Computed 和 Identity bu 没有这样的运气任何想法:这是我的代码片段:
using (var context = new DB.PTLEntities())
{
     var tracking = new DB.Tracking();       
     context.Trackings.AddObject(tracking);
     context.SaveChanges();
     trackingID = tracking.TrackingID;
}

最佳答案

看起来 EF 不认为此列是标识列,因此将其放入默认值(Guid)。在这里查看有关将 guid 设置为身份列的一些详细信息(它实际上通过您的确切示例)http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/

关于entity-framework - EntityFramework 使用值 "00000000-0000-0000-0000-000000000000"填充唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147049/

相关文章:

c# - 如何防止 Entity Framework 强制验证子对象属性?

java - 结合版本 1 和版本 4 UUID 的想法是个好主意吗?

Excel 2007 - 根据文本生成唯一ID?

asp.net - 动态数据 - 创建友好的列名称?

windows - 生成唯一的机器 ID

clone - mifare classic 的 UID 是否可以编辑?

android - 获取设备的 IMEI 代码或/和 Mac 地址

.net - 我可以将 EF 实体映射到具有多态外键的两个表吗?

c# - 在 N 层应用程序中使用 DTO 时的 OrderBy

c# - 如何通过非主键创建一对一关系(EF First Code)