Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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# 带有lambda和MySQL的Simple EntityFramework引发异常?_C#_.net_Mysql_Entity Framework - Fatal编程技术网

C# 带有lambda和MySQL的Simple EntityFramework引发异常?

C# 带有lambda和MySQL的Simple EntityFramework引发异常?,c#,.net,mysql,entity-framework,C#,.net,Mysql,Entity Framework,我正在使用EntityFramework 4从MySQL数据库中删除一些记录。这是我的代码: using (Entities context = new Entities()) { foreach (games_designer_binder binder in context.games_designer_binder.Where(c => c.gameId == inGameId))

我正在使用EntityFramework 4从MySQL数据库中删除一些记录。这是我的代码:

using (Entities context = new Entities())
                {
                    foreach (games_designer_binder binder in context.games_designer_binder.Where(c => c.gameId == inGameId))
                        context.games_designer_binder.DeleteObject(binder);

                    context.SaveChanges();
                    return true;
                }
这将引发以下异常:

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用near的正确语法(在第1行选择\n games\u designer\u binder.gameId、games\u designer\u binder

为什么?我需要什么来解决这个问题

编辑:

这很好:

context.games_designer_binder.Where(c=> c.designerId == 22 && c.gameId == 1276).FirstOrDefault();

我非常确定,在遍历集合时不能删除实体

试试这个:

using (Entities context = new Entities())
    {
        var binders = context.games_designer_binder.Where(c => c.gameId == inGameId).ToList();

        foreach (var binder in binders)
            context.games_designer_binder.DeleteObject(binder);

        context.SaveChanges();
        return true;
    }

注意:我建议您更改games\u designer\u binder集合,以反映它实际上是model binder上的集合,因此它以s结尾,例如:games\u designer\u binderS,因为您可能会将其与集合和实体本身搞砸。

我看到了其他关于EF与MySQL的关系不好的问题,但我不太了解他lp解决它。消息表明SELECT中有错误,所以请先尝试读取一些记录。@HenkHolterman你的意思是什么?我可以使用context.ExecuteStoreCommand运行存储过程,但使用上面的代码,我得到SELECT异常。SELECT很简单,即使我没有最新的MySQL服务器,也应该可以工作。Se my Edit1。异常在运行context.SaveChanges之前不会抛出。请转到第18页,好的,阅读第8页(链接已关闭,但现在可以使用)。很抱歉,我不确定我是否了解您试图告诉我的内容。请记住elavorate?这是关于您提出的另一个问题,在我向您发布该问题之前,该问题立即关闭。