C# System.Data.EntitySqlException:参数类型';Edm.String';和';Edm.Int32';与此操作不兼容

C# System.Data.EntitySqlException:参数类型';Edm.String';和';Edm.Int32';与此操作不兼容,c#,entity-framework,C#,Entity Framework,我不得不在查询中更改一个参数的数据类型,现在我得到了这条消息标题中列出的错误消息。我一直在想问题的所在,唯一能想到的是,因为查询的一个参数是数字,另一个是字符串,这就导致了问题。不幸的是,我对实体框架非常陌生,不知道如何调整查询来解决这个问题 以下是我正在使用的查询: var Item = (DataContextFactory.GetDataContext().Items.Include("Category") .Where("it.CategoryID ==

我不得不在查询中更改一个参数的数据类型,现在我得到了这条消息标题中列出的错误消息。我一直在想问题的所在,唯一能想到的是,因为查询的一个参数是数字,另一个是字符串,这就导致了问题。不幸的是,我对实体框架非常陌生,不知道如何调整查询来解决这个问题

以下是我正在使用的查询:

var Item = (DataContextFactory.GetDataContext().Items.Include("Category")
                 .Where("it.CategoryID == " + categoryId + " && it.itemID == " +
                 itemId)).SingleOrDefault();

查看实体框架代码文件,您将看到名为“SomethingContext”的类,然后尝试以下代码:

YourDBContext ctx = new YourDBContext();

var item = (from c in ctx.Category
               where c.CategoryID == categoryId && c.itemID == itemId
                select c).SingleOrDefault();

查看实体框架代码文件,您将看到名为“SomethingContext”的类,然后尝试以下代码:

YourDBContext ctx = new YourDBContext();

var item = (from c in ctx.Category
               where c.CategoryID == categoryId && c.itemID == itemId
                select c).SingleOrDefault();

如果其中一个是您忘记的字符串
'

试试这个:(我不知道哪一个是string,在这个例子中categoryId是string)


如果其中一个是您忘记的字符串
'

试试这个:(我不知道哪一个是string,在这个例子中categoryId是string)


@懒散的别列佐夫斯基。@hvd我的坏,完全忘记了对象Query@lazyberezovsky@hvd my bad,完全忘记了对象查询