0

如何使用 EF 添加一个新实体,其中我有在数据库Id中定义的列identity

我收到以下错误:

当 IDENTITY_INSERT 设置为 OFF 时,无法在表“AppsData”中插入标识列的显式值。

但我不能将它设置Id为空,因为它int在数据库中(甚至不能为空)

我的功能是:

    public Conduit.Mam.MaMDBEntityFramework.AppsData Add(Conduit.Mam.MaMDBEntityFramework.AppsData item)
    {   
        maMdbEntities.AddToAppsDatas(item);

        maMdbEntities.SaveChanges();

        return item;
    } 
4

3 回答 3

2

如果您使用除零以外的任何整数值设置 Id,则删除该初始化或将其设置为零。

由于例外情况清楚地表明您的 Id 列有一个值,即标识列。

当 IDENTITY_INSERT 设置为 OFF 时,无法在表“AppsData”中插入标识列的显式值。

例外

字符串或二进制数据将被截断。该语句已终止

仅当您发送的数据长度大于 db 表列数据类型长度时才会出现。

于 2012-11-08T12:01:55.423 回答
2

identity我也必须在 edmx 中创建这个属性

于 2012-11-08T12:07:54.750 回答
2

字符串或二进制数据将被截断。该语句已终止。

这意味着:您要在列中插入的数据大于列大小。增加 db 中的列大小。

于 2012-11-08T12:08:14.383 回答