下面是一个使用ASP.NET Core和Linq查询列表的示例代码:
首先,确保你已经安装了ASP.NET Core的开发环境并创建了一个新的ASP.NET Core项目。
Person
的模型类,用于表示一个人的信息:public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
Startup.cs
文件中添加一个List
作为模拟的数据库:public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// ...
// 模拟数据库
services.AddSingleton>(new List
{
new Person { Id = 1, Name = "John", Age = 25 },
new Person { Id = 2, Name = "Jane", Age = 30 },
new Person { Id = 3, Name = "Bob", Age = 40 }
});
// ...
}
// ...
}
HomeController
的控制器,并注入List
作为构造函数的参数:public class HomeController : Controller
{
private readonly List _persons;
public HomeController(List persons)
{
_persons = persons;
}
public IActionResult Index()
{
return View(_persons);
}
public IActionResult AgeAbove30()
{
var personsAbove30 = _persons.Where(p => p.Age > 30).ToList();
return View(personsAbove30);
}
}
Index.cshtml
和AgeAbove30.cshtml
,分别用于显示所有的人和年龄大于30岁的人:Index.cshtml:
@model List
All Persons
ID
Name
Age
@foreach (var person in Model)
{
@person.Id
@person.Name
@person.Age
}
AgeAbove30.cshtml:
@model List
Persons Above 30
ID
Name
Age
@foreach (var person in Model)
{
@person.Id
@person.Name
@person.Age
}
Startup.cs
文件的Configure
方法中添加路由配置:public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
// ...
}
现在,你可以通过访问/Home/Index
和/Home/AgeAbove30
来查看列表和年龄大于30的人。