下面的代码有什么问题?:(

int? parentFolderId = null;
if( this.Request.QueryString ["folderId"] != null )
    parentFolderId = Convert.ToInt32( this.Request.QueryString ["folderId"] );
f = ( from x in this.EntityDataContext.folders
        where x.parent_id == parentFolderId
        select x ).ToList();

它什么也不回!尽管数据库中有父id为空的记录。
但是,当我显式地声明为空时,它就工作了!
f = ( from x in this.EntityDataContext.folders
        where x.parent_id == null
        select x ).ToList();

有什么问题吗?
PS:我讨厌使用实体框架来处理mysql。。。。每件简单的事情都有无数的问题!

最佳答案

远射

f = ( from x in this.EntityDataContext.folders
                where ((parentFolderId!=null && x.parent_id == parentFolderId)
                        ||(parentFolderId==null && x.parent_id == null))
                select x ).ToList();

是的,这是有线的,我想你的第一个例子应该与MsSql工作得很好。
也许是时候向Linq to MySql的作者提交一个bug了?

关于mysql - Entity Framework -MySQL-空比较!,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1960687/

10-10 04:10