Asp.net mvc ASP.NET MVC 5 API,更改GET函数中的类
我正在开发一个dotnetmvc5应用程序。这是我的customer controller api中的一个函数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);
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)添加到以前的/旧代码中,它现在部分工作。