【发布时间】:2011-06-25 06:24:52
【问题描述】:
当我将它返回到我的视图时:
return View(db.Properties.ToList());
我得到 3 个属性,其中一个的位置值为“俄勒冈”。
但在另一个方法中声明如下:
public ViewResult Browse(string location)
{
return View(db.Properties.Where(p => p.location == location).ToList());
}
我得到 0 个属性。
我怀疑字符串“位置”在某处被转换为奇怪的东西,但我不确定它会以何种方式被转换。当我用 '== "Oregon"' 替换 lambda '== location' 时,我仍然得到 0 个属性。
我该如何解决这个问题?
另外,是否可以看到为调试目的而创建的中间 SQL?
编辑:这是使用实体框架。
编辑:我现在得到的结果略有不同。看起来传入的位置字符串是空的(即使我在 URL 中看到它)。我已经重写了所有内容并将其发布在:
【问题讨论】:
-
你还没说你用的是哪个LINQ提供程序,这让你很难帮你调试……
-
我相信我正在使用 Linq to Entities。可能是 Linq to SQL。对不起。我对 C#/MVC 很陌生。
-
@micahhoover:你需要找出哪个,因为它们有不同的记录方式。如果您可以发布一些代码,那将有所帮助。
-
这是我的 using 语句: using System;使用 System.Collections.Generic;使用 System.Data;使用 System.Data.Entity;使用 System.Linq;使用 System.Web;使用 System.Web.Mvc;使用 ElkDogTrader.Models;我记得用 NuGet 安装 Entity Framework,但我没有用那种方式安装 Linq to SQL。
-
@micahhoover:是的,是 EF。
标签: asp.net-mvc-3 c#-4.0 entity-framework-4 linq-to-entities