c#使用类似于SQL WHERE子句的EF过滤数据库结果

时间:2016-10-25 13:49:40

标签: c# entity-framework

我使用Entity Framework连接到我的数据库,正在构建我的第一个MVC应用程序,以便在网页中使用。

我可以让控制器在我的模型中填充公共字符串没有问题...我遇到的问题是我无法弄清楚如何从我的数据库中过滤响应。

我希望只返回一个项目,我将在@Model.BusinessUnit

的视图中显示

这是我的数据库表Model Model:

public partial class TBL_Wholesale_UWS_BusinessUnits
{
    public int PrimaryID { get; set; }
    public string BusinessUnit { get; set; }
    public string Status { get; set; }
}

这是我在控制器中的内容:

public ActionResult test(int PrimaryID)
{
    var testing = new TBL_Wholesale_UWS_BusinessUnits();
    // maybe putting new is the wrong thing to do as that would be wiping the class? IDK
    return View(testing);
}

正如您所看到的,PrimaryID通过查询字符串传递给控制器​​,这被认为没有问题,但我不知道在哪里添加过滤器,我认为它会像...

var testing = TBL_Wholesale_UWS_BusinessUnits.Where(TBL_Wholesale_UWS_BusinessUnits.PrimaryID = PrimaryID);` 

但Visual Studio毫不含糊地告诉我这是错误的。

如果这是经典的asp我会创建一个记录集并在SQL中使用where子句,但由于这是使用Entity Framework构建来进行连接,所以我真的不知道从哪里开始。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

如果您只是想将一个特定对象返回到视图中,那么您需要在数据库中找到int PrimaryID并检索该特定记录。

您正在做的只是创建一个为空的<{1}}类的新实例

试试这个:

TBL_Wholesale_UWS_BusinessUnits

我希望这有帮助!