Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架插入不起作用_C#_Entity Framework - Fatal编程技术网

C# 实体框架插入不起作用

C# 实体框架插入不起作用,c#,entity-framework,C#,Entity Framework,我学习了EF4.0的一些基本知识,最近升级到EF6.0。我似乎无法让一个简单的插入工作。“ent.AddtoImage()”在6.0版中是否已被弃用?我四处寻找,但找不到答案 using (evEntities ent = new evEntities()) { Image insertImg = new Image(); insertImg.TypeID = "a"; ent.AddtoImage(insertI

我学习了EF4.0的一些基本知识,最近升级到EF6.0。我似乎无法让一个简单的插入工作。“ent.AddtoImage()”在6.0版中是否已被弃用?我四处寻找,但找不到答案

using (evEntities ent = new evEntities())
{
Image insertImg = new Image();                                        

insertImg.TypeID = "a";
ent.AddtoImage(insertImg);
ent.SaveChanges();
}
我在AddtoImage下面有一条红色的曲线

编辑:这是一张图片-

是的

beacause事件仅在using语句(下一个块)的范围内有效

当你错过{}时,下一个blcock就是下一个语句,它是

Image insertImg = new Image ();
在该行之后,事件被释放,变量无效

使用后将整条线用大括号括起来,使其成为一个块

using (evEntities ent = new evEntities()) {
    ....rest of your code
}

假设图像是EF生成的实体,您可以使用

ent.Images.Add(insertImg);
在EF6中,然后是代码的其余部分。

试试这个

evEntities.Entry<Image>(ent).State = EntityState.Added;
ent.SaveChanges();
eventies.Entry(ent.State=EntityState.Added;
SaveChanges();

eventies.Set().Add(ent);
SaveChanges();

对不起,我忘了大括号。我实际上有很多其他的代码,并试图简化。但是,是的,我的代码中有大括号/范围。那么AddToImage(insertImg)应该有用吗?不知道,我的水晶球坏了。我不知道这个方法从何而来,因为您显然不喜欢给出任何相关的代码。即使在EF 4中,我也找不到AddTOImage方法的引用。。。。或者在整个互联网上。又晚又累。是的,你说得对,我本应该发布得更好。非常感谢。这是“Addto”的用法,EF6似乎不支持它。这里是ref:---Insert示例使用AddtoEmp
evEntities.Set<Image>().Add(ent);
ent.SaveChanges();