EF Core怎么使用视图(View) EF Core映射数据库视图教程

admin 百科 11
EF Core 使用数据库视图需先建好视图再以无主键实体映射:1. 数据库中创建视图;2. 定义无主键C#类;3. 在DbContext中用ToView()和HasNoKey()配置;4. 可直接LINQ查询。

EF Core怎么使用视图(View) EF Core映射数据库视图教程-第1张图片-佛山资讯网

EF Core 使用数据库视图,核心就两点:视图要先在数据库里建好,然后在代码里按“无主键实体”映射过去,就能像查表一样查询、过滤、排序。

1. 先在数据库中创建视图

用 SQL Server Management Studio 或其他工具执行类似语句:

  • CREATE VIEW View_BookDetails AS SELECT b.Id, b.Name, b.Author, c.Name AS CateName FROM Books b JOIN Categories c ON b.CateId = c.Id
  • 视图名建议用英文、不带空格和特殊字符(如 View_BookDetails
  • 加密视图、带参数的视图 EF Core 不支持直接映射,避免使用

2. 定义对应视图的 C# 类

这个类只是数据容器,不需要主键,字段名和类型要跟视图返回列一致:

  • public class View_BookDetails { public int Id { get; set; } public string Name { get; set; } public string Author { get; set; } public string CateName { get; set; } }
  • 字段名不区分大小写,但建议跟视图列名保持一致,减少映射歧义
  • 不用加 [Key] 或其他主键特性——视图通常没主键,EF Core 会自动识别为无键实体

3. 在 DbContext 中配置映射

两种主流方式,推荐用 Entity 配置(EF Core 3.0+ 统一推荐):

标签: go 工具 ai c# c#类

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~