Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
.net linq到sql(VS 2010)-插入不';行不通_.net_Visual Studio 2010_Linq To Sql_C# 4.0 - Fatal编程技术网

.net linq到sql(VS 2010)-插入不';行不通

.net linq到sql(VS 2010)-插入不';行不通,.net,visual-studio-2010,linq-to-sql,c#-4.0,.net,Visual Studio 2010,Linq To Sql,C# 4.0,我有一个包含我的数据上下文的类: private static drDataContext db = new drDataContext(); 我还有一个方法: public static void InsertSelfRatings(List<DeveloperSelfRating> ratings) { foreach (DeveloperSelfRating sr in ratings) { db.Develo

我有一个包含我的数据上下文的类:

private static drDataContext db = new drDataContext();
我还有一个方法:

public static void InsertSelfRatings(List<DeveloperSelfRating> ratings)
    {

        foreach (DeveloperSelfRating sr in ratings)
        {
            db.DeveloperSelfRatings.InsertOnSubmit(sr);
        }

        // db.DeveloperSelfRatings.InsertAllOnSubmit(ratings);

        db.SubmitChanges();
    }
public static void InsertSelfRatings(列表评级)
{
foreach(开发者自评等级sr)
{
db.DeveloperSelfRatings.InsertOnSubmit(sr);
}
//db.DeveloperSelfRatings.InsertAllOnSubmit(评级);
db.SubmitChanges();
}
我尝试了InsertOnSubmit()和InsertAllOnSubmit(),但遇到了相同的问题-只有“评级”列表中的最后一条记录(DeveloperSelfRating对象)被插入到数据库中

这个问题的原因可能是什么


谢谢

您只需将这一行放入db.SubmitChanges();在foreach循环中

公共静态void InsertSelfRatings(列表评级)

{

因为当您在linq中插入一条记录时,您必须提交更改,因此在每次插入之后,您必须写入db.SubmitChanges();
只要试试这个ok

检查你的评分集合,它的记录是否超过1,并且所有的记录都不同……看看这篇文章-我想它可能会有一些启示:尝试返回InsertAllOnSubmit。这应该会起作用。如果不起作用,配置文件并查看生成的SQL。你添加的评分都是新的吗?你的DB是否使用标识作为PK?@Pranay R安娜:非常感谢!!!愚蠢的我!我的问题是我传递给方法的列表!是
DeveloperSelfRating
一个类还是一个结构?
,因为当你在linq中插入一条记录时,你必须提交更改
@Michael Stum:但是如果我们必须通过创建列表来插入所有记录,然后我们必须编写InsertAllOnSubmit()
    foreach (DeveloperSelfRating sr in ratings)
    {
        db.DeveloperSelfRatings.InsertOnSubmit(sr);
        db.SubmitChanges();

    }



}