gpt4 book ai didi

c# - 为什么新创建的 EF 实体在尝试保存时抛出 ID is null 异常?

转载 作者:行者123 更新时间:2023-11-30 19:13:45 25 4
gpt4 key购买 nike

我正在试用 VS2010 中包含的 Entity Framework ,但我遇到了从图形界面生成的数据库/模型的问题。

当我这样做时:

user = dataset.UserSet.CreateObject();
user.Id = Guid.NewGuid();
dataset.UserSet.AddObject(user);
dataset.SaveChanges();

{“无法将值 NULL 插入到列‘Id’,表‘BarSoc2.dbo.UserSet’;该列不允许空值。INSERT 失败。\r\n语句已终止。”

我要插入的表格如下所示:

-- Creating table 'UserSet'
CREATE TABLE [dbo].[UserSet] (
[Id] uniqueidentifier NOT NULL,
[Name] nvarchar(max) NOT NULL,
[Username] nvarchar(max) NOT NULL,
[Password] nvarchar(max) NOT NULL
);
GO

-- Creating primary key on [Id] in table 'UserSet'
ALTER TABLE [dbo].[UserSet]
ADD CONSTRAINT [PK_UserSet]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO

我是不是以错误的方式创建了对象,还是做了其他一些基本错误?

最佳答案

在定义为键的字段的模型上,添加以下属性。此键在数据库中未标记为 IDENTITY,Entity Framework 给出异常

[Key]
[Display(Name = "Id")]
[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)]
public int Id { get; set; }

关于c# - 为什么新创建的 EF 实体在尝试保存时抛出 ID is null 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2838832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com