Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Asp.net mvc ASP.NET MVC 5 API,更改GET函数中的类_Asp.net Mvc_Linq_Debugging_Asp.net Web Api - Fatal编程技术网

Asp.net mvc ASP.NET MVC 5 API,更改GET函数中的类

Asp.net mvc ASP.NET MVC 5 API,更改GET函数中的类,asp.net-mvc,linq,debugging,asp.net-web-api,Asp.net Mvc,Linq,Debugging,Asp.net Web Api,我正在开发一个dotnetmvc5应用程序。这是我的customer controller api中的一个函数 public IHttpActionResult GetCustomers() { var customerDtos = _context.Customers.ToList().Select(Mapper.Map<Customer, CustomerDto>); return Ok(customerDtos);

我正在开发一个dotnetmvc5应用程序。这是我的customer controller api中的一个函数

 public IHttpActionResult GetCustomers()
    {        
        var customerDtos = _context.Customers.ToList().Select(Mapper.Map<Customer, CustomerDto>);

        return Ok(customerDtos);
    }
public IHttpActionResult GetCustomers()
{        
var customerDtos=_context.Customers.ToList().Select(Mapper.Map);
返回Ok(customerDtos);
}
我需要将“TYPEAHEAD”插件添加到我的应用程序中。我下面的视频系列/讲师说要将功能代码更改为

public IHttpActionResult GetCustomers(string query = null)
    {
        var customersQuery = _context.Customers
            .Include(c => c.MembershipType);

        if (!String.IsNullOrWhiteSpace(query))
            customersQuery = customersQuery.Where(c => c.Name.Contains(query));

        var customerDtos = customersQuery
            .ToList()
            .Select(Mapper.Map<Customer, CustomerDto>);

        return Ok(customerDtos);    
public IHttpActionResult GetCustomers(字符串查询=null)
{
var customersQuery=\u context.Customers
.包括(c=>c.MembershipType);
如果(!String.IsNullOrWhiteSpace(查询))
customersQuery=customersQuery.Where(c=>c.Name.Contains(query));
var customerDtos=customerquery
托利斯先生()
.选择(Mapper.Map);
返回Ok(customerDtos);
}

为了使“TypeAhead”插件在我的视图上工作

唯一的问题是以前创建客户时,我觉得没有必要向客户添加“MembershipType”类。那么,如何在没有MembershipType的情况下使用新代码。是否有其他属性可以替换?姓名、身份证等

.Include(c => c.MembershipType);
本质上意味着您还希望包含
MembershipType
有关详细信息,请参见此处

对于您的情况,您可以简单地忽略这一点

public IHttpActionResult GetCustomers(string query = null)
{
    var customersQuery = _context.Customers;

    if (!String.IsNullOrWhiteSpace(query))
        customersQuery = customersQuery.Where(c => c.Name.Contains(query));

    var customerDtos = customersQuery
        .ToList()
        .Select(Mapper.Map<Customer, CustomerDto>);

    return Ok(customerDtos);    
}
public IHttpActionResult GetCustomers(字符串查询=null)
{
var customersQuery=\u context.Customers;
如果(!String.IsNullOrWhiteSpace(查询))
customersQuery=customersQuery.Where(c=>c.Name.Contains(query));
var customerDtos=customerquery
托利斯先生()
.选择(Mapper.Map);
返回Ok(customerDtos);
}
你不需要用任何东西来代替它

customersQuery
则是一个
IQueryable
,此代码的其余部分可以将
Where
子句附加到它

在调用
ToList
之前,它不会对数据库执行

本质上意味着您还希望包含
MembershipType
有关详细信息,请参见此处

对于您的情况,您可以简单地忽略这一点

public IHttpActionResult GetCustomers(string query = null)
{
    var customersQuery = _context.Customers;

    if (!String.IsNullOrWhiteSpace(query))
        customersQuery = customersQuery.Where(c => c.Name.Contains(query));

    var customerDtos = customersQuery
        .ToList()
        .Select(Mapper.Map<Customer, CustomerDto>);

    return Ok(customerDtos);    
}
public IHttpActionResult GetCustomers(字符串查询=null)
{
var customersQuery=\u context.Customers;
如果(!String.IsNullOrWhiteSpace(查询))
customersQuery=customersQuery.Where(c=>c.Name.Contains(query));
var customerDtos=customerquery
托利斯先生()
.选择(Mapper.Map);
返回Ok(customerDtos);
}
你不需要用任何东西来代替它

customersQuery
则是一个
IQueryable
,此代码的其余部分可以将
Where
子句附加到它


在调用
ToList
之前,它不会对数据库执行。

非常感谢您的澄清和链接文档。我刚刚将GetCustomers(stringquery=null)添加到以前的/旧代码中,现在部分工作正常。非常感谢您的澄清和链接文档。我刚刚将GetCustomers(stringquery=null)添加到以前的/旧代码中,它现在部分工作。