遇到实体框架问题。添加新行

时间:2012-07-01 06:53:45

标签: entity-framework sql-server-ce-3.5

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

请帮忙!

2 个答案:

答案 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;
    }