0

实体框架有问题。我一直在向 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 中。保存它不起作用。

请帮忙 !

4

2 回答 2

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();
于 2012-07-01T09:46:56.730 回答
0

尝试这个。这个对我有用

public ItemCategory Create(ItemCategory objItemCategory)
    {            
        context.ItemCategory.Add(objItemCategory);
        context.SaveChanges();

        return objItemCategory;
    }
于 2013-03-12T08:45:57.517 回答