如何在EF中添加一个新实体,其中Id
列在数据库中定义为identity
?
我收到以下错误:
无法在表'AppsData'中为标识列插入显式值 当IDENTITY_INSERT设置为OFF时。
但我不能将Id
设置为null,因为它是数据库中的int
(甚至不可为空)
我的功能是:
public Conduit.Mam.MaMDBEntityFramework.AppsData Add(Conduit.Mam.MaMDBEntityFramework.AppsData item)
{
maMdbEntities.AddToAppsDatas(item);
maMdbEntities.SaveChanges();
return item;
}
答案 0 :(得分:2)
如果使用除零之外的任何整数值设置Id,则删除该初始化或将其设置为零。
正如异常明确表示您的Id列有一个值,即标识列。
无法在表'AppsData'中为标识列插入显式值 当IDENTITY_INSERT设置为OFF时。
例外
字符串或二进制数据将被截断。声明一直如此 终止
仅在发送数据长度大于db table column datatype lenght。
时出现答案 1 :(得分:2)
我必须在edmx中创建此属性identity
答案 2 :(得分:2)
字符串或二进制数据将被截断。声明已经终止。
这意味着:您希望在列中插入的数据多于列大小。增加db。中的列大小。