呃 发Linq区没人回 就转这里来了..
这个是我另一个程序中正确的 这个是用asp.net mvc+ado.net entity写的这个是我错的这个程序里的类型 用的asp.net WebForm+ado.net entity写的
提示的错误是
是不是因为类型不批配 所以提示找不到?
那我该怎么声明呢 之前一直用的var 后来改用IQueryable 依然提示错误 Users是一张表错误代码: public partial class _Default : System.Web.UI.Page
{
UserEntities ue = new UserEntities();
ObjectQuery<Users> querys;
protected void Page_Load(object sender, EventArgs e)
{
querys = ue.Users;
IQueryable<Users> query = from q in querys
select q;
GridView1.DataSource = query;
GridView1.DataBind();
GridView1.SelectedIndex = 0;
} protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string id1 = (string)e.CommandArgument;
int id = Int32.Parse( id1);
var deleteUser = from d in querys
where d.UserID == id
select d;
// var deleteUser = ue.Users.First(d => d.UserID == id);
ue.DeleteObject(deleteUser);//执行这句时就提示错误
ue.SaveChanges(); }整了半天了 求解啊..
这个是我另一个程序中正确的 这个是用asp.net mvc+ado.net entity写的这个是我错的这个程序里的类型 用的asp.net WebForm+ado.net entity写的
提示的错误是
是不是因为类型不批配 所以提示找不到?
那我该怎么声明呢 之前一直用的var 后来改用IQueryable 依然提示错误 Users是一张表错误代码: public partial class _Default : System.Web.UI.Page
{
UserEntities ue = new UserEntities();
ObjectQuery<Users> querys;
protected void Page_Load(object sender, EventArgs e)
{
querys = ue.Users;
IQueryable<Users> query = from q in querys
select q;
GridView1.DataSource = query;
GridView1.DataBind();
GridView1.SelectedIndex = 0;
} protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string id1 = (string)e.CommandArgument;
int id = Int32.Parse( id1);
var deleteUser = from d in querys
where d.UserID == id
select d;
// var deleteUser = ue.Users.First(d => d.UserID == id);
ue.DeleteObject(deleteUser);//执行这句时就提示错误
ue.SaveChanges(); }整了半天了 求解啊..
方法正确写法: Users deleteUser = ue.Users.First(d => d.UserID == id);
表达示错误写法: Users deleteUser = from d in ue.Users
where d.UserID == id
select d;
错误原因很简单 就是ue.Users是一个泛型 但是Users是一个单一的类型 所以从ue.Users=>deleteUser转换时 就出问题 但是我想要用表达式写法的话 我该怎么写呢....
where d.UserID == id
select d;
然后你再d[0]的形式,试试。。