Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 使用实体框架/ADO.NET从表中删除_C#_.net_Database_Entity Framework_Ado.net - Fatal编程技术网

C# 使用实体框架/ADO.NET从表中删除

C# 使用实体框架/ADO.NET从表中删除,c#,.net,database,entity-framework,ado.net,C#,.net,Database,Entity Framework,Ado.net,我试图从表中删除整行数据。我使用的代码是: OModel.Cart pncart = database.Carts.FirstOrDefault( pn => pn.OrderId == Session["OOID"] && pn.PartNumber == Request.QueryString["PartNumber"]); database.Carts.DeleteOb

我试图从表中删除整行数据。我使用的代码是:

OModel.Cart pncart = database.Carts.FirstOrDefault(
                        pn => pn.OrderId == Session["OOID"] && 
                        pn.PartNumber == Request.QueryString["PartNumber"]);

database.Carts.DeleteObject(pncart);
database.SaveChanges();
它给我的错误是:

LINQ to实体无法识别方法“System.Object” get_Item(System.String)'方法,并且无法转换此方法 转换为存储表达式。描述:未处理的异常 在执行当前web请求期间发生。请 查看堆栈跟踪以了解有关错误和位置的更多信息 它起源于代码

异常详细信息:System.NotSupportedException:LINQ到实体 无法识别方法“System.Object get_Item(System.String)” 方法,而此方法无法转换为存储表达式

它说的是关于
NotSupportException
,所以我猜你不能这样做


那么,我该如何从表中删除呢?我认为这是正确的方法。

我将为
会话[“OOID”]
请求声明变量。QueryString[“PartNumber”]
而不是在linq表达式中使用它们


我相信它告诉您它无法转换这些操作。

我将为
会话[“OOID”]
请求声明变量。QueryString[“PartNumber”]
而不是在linq表达式中使用它们


我相信它是在告诉您,它无法转换这些操作。

LINQ to Entities在嵌入式表达式上卡住了(LINQ to SQL处理得更好)。必须将嵌入的表达式分解,以便lambda只包含字符串常量

string ooid = Session["OOID"];
string partNo = Request.QueryString["PartNumber"];

OModel.Cart pncart = database.Carts.FirstOrDefault(
                        pn => pn.OrderId == ooid && pn.PartNumber == partNo);

LINQtoEntities被嵌入表达式卡住了(LINQtoSQL处理得更好)。必须将嵌入的表达式分解,以便lambda只包含字符串常量

string ooid = Session["OOID"];
string partNo = Request.QueryString["PartNumber"];

OModel.Cart pncart = database.Carts.FirstOrDefault(
                        pn => pn.OrderId == ooid && pn.PartNumber == partNo);

谢谢非常感谢。:-)谢谢非常感谢。:-)