在我的 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
当我插入记录时,实体框架已将 TrackingID 预填充为“00000000-0000-0000-0000-000000000000”。我已将字段属性设置为 Computed 和 Identity,但没有任何想法:这是我的代码片段:
using (var context = new DB.PTLEntities())
{
var tracking = new DB.Tracking();
context.Trackings.AddObject(tracking);
context.SaveChanges();
trackingID = tracking.TrackingID;
}