遇到实体框架问题。我一直在向Iktato表添加一个新行,但是没有用。
CREATE TABLE [Iktato] (
[TIPACT] nvarchar(3),
[NRINREG] int NOT NULL identity(1,1),
[DATAINREG] datetime,
[NRACT] nvarchar(10),
[DATAACT] datetime,
[CODARHIVA] nvarchar(20),
[NRFILE] int,
[NRANEXE] int,
[EMITENT] nvarchar(50),
[TERMEN] datetime,
[RESP1] nvarchar(50),
[RESP2] nvarchar(50),
[RESP3] nvarchar(50),
[RESP4] nvarchar(50),
[DESCRIERE] ntext,
[PRIORITATE] nvarchar(13),
[STATUT] nvarchar(20),
[FILENAME] nvarchar(128),
PRIMARY KEY (NRINREG)
)
GO
CREATE TABLE [rasp] (
[TIPACT] nvarchar(3),
[NRINREG] int NOT NULL,
[DATAINREG] datetime,
[NRACT] nvarchar(10),
[DATAACT] datetime,
[CODARHIVA] nvarchar(20),
[NRFILE] int,
[NRANEXE] int,
[EMITENT] nvarchar(50),
[TERMEN] datetime,
[RESP1] nvarchar(50),
[RESP2] nvarchar(50),
[RESP3] nvarchar(50),
[RESP4] nvarchar(50),
[DESCRIERE] ntext,
[PRIORITATE] nvarchar(13),
[STATUT] nvarchar(20),
[FILENAME] nvarchar(128),
[ROW_ID] int NOT NULL IDENTITY,
PRIMARY KEY (ROW_ID)
)
GO
ALTER TABLE rasp
ADD CONSTRAINT fk_Iktato
FOREIGN KEY (NRINREG)
REFERENCES Iktato (NRINREG) ON DELETE CASCADE
GO
这是我的节目序列:
private RegistruEntities entities;
private Iktato proba;
proba = new Iktato { NRINREG = 5 };
entities.AttachTo("Iktatoes", proba);
entities.SaveChanges();
我想插入一个注册号为5的行,该行将保存在数据库Iktato中。 保存它不起作用。
请帮忙!
答案 0 :(得分:1)
必须使用AddObject
插入新实体,而不是AttachTo
:
proba = new Iktato { NRINREG = 5 };
entities.AddObject("Iktatoes", proba);
entities.SaveChanges();
您还应该有一个ObjectSet<Iktato>
作为ObjectContext的成员,允许使用更强类型的版本来避免实体集的字符串"Iktatoes"
:
proba = new Iktato { NRINREG = 5 };
entities.Iktatoes.AddObject(proba);
entities.SaveChanges();
答案 1 :(得分:0)
试试这个。它适用于我
public ItemCategory Create(ItemCategory objItemCategory)
{
context.ItemCategory.Add(objItemCategory);
context.SaveChanges();
return objItemCategory;
}