EF Core Data Annotations怎么用 EF Core数据注解使用方法

admin 百科 16
EF Core数据注解是用于实体类和属性的特性,支持表名、主键、字段约束、关系及忽略字段等配置;适合中小型项目,高级功能需配合Fluent API使用。

EF Core Data Annotations怎么用 EF Core数据注解使用方法-第1张图片-佛山资讯网

EF Core 数据注解(Data Annotations)是一组写在实体类和属性上的特性(Attributes),让 EF Core 在运行时自动理解如何把你的 C# 类映射到数据库表结构、字段约束、关系等。它简单直观,适合中小型项目或快速原型开发。

基础配置:表名与主键

[Table] 指定实体映射的数据库表名,可选带 Schema:

[Table("users", Schema = "auth")]
public class User
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
}

登录后复制

  • [Table("users")] → 映射到 users 表;加 Schema = "auth" 则生成在 auth.users
  • [Key] 标记主键字段,EF Core 默认识别 IdClassNameId,但显式标注更清晰可靠

字段级控制:长度、空值与类型

对字符串等属性加验证和数据库约束注解:

public class Product
{
    [Key]
    public int Id { get; set; }
<pre class="brush:php;toolbar:false;">[Required]           // NOT NULL
[MaxLength(100)]     // nvarchar(100)
public string Name { get; set; }

[Column(TypeName = "decimal(18,2)")]
public decimal Price { get; set; }

[StringLength(500)]
public string Description { get; set; }

登录后复制

}

  • [Required] 强制非空,生成 NOT NULL
  • [MaxLength(n)][StringLength(n)] 效果类似,都限制最大长度;前者更常用,后者兼容 ASP.NET 验证
  • [Column(TypeName = "...")] 精确控制数据库列类型,比如 varchardatetime2decimal(18,2)

关系与外键配置

[ForeignKey] 明确声明外键属性,并配合导航属性使用:

标签: 前端 app ai c# .net red

发布评论 0条评论)

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