1. 程式人生 > 其它 >fluent api相關知識記錄

fluent api相關知識記錄

1、檢視與實體對映:builder.ToView("blogsView");

2、排除屬性對映:builder.Ignore(b=>b.Name2);

3、配置列名:builder.Property(b=>b.BlogId).HasColumnName("blog_id");//預設為BlogId屬性名,後面也可以指定名稱

4、配置列資料型別:builder.Property(e=>e.Title).HasColumnType("varchar(200)");

5、配置主鍵:預設把名字為Id或者“實體型別+Id”的屬性作為主鍵,可以用HasKey()來配置其他屬性作為主鍵。builder.HasKey(e=>e.Number);支援複合主鍵但是不建議使用。

6、生成列的值:builder.Property(b=>b.Number).ValueGeneratedOnAdd();

7、為屬性設定預設值:builder.Property(b=>b.Age).HasDefaultValue(18);

8、索引:builder.HasIndex(b=>b.Url);

9、複合索引:builder.HasIndex(p=>new{p.FirstName,p.LastName});

10、唯一索引:IsUnique();

11、聚集索引:IsClustered();

 

使用EF Core太多高階特性的時候需要謹慎,儘量不要和業務邏輯混合在一起,以免造成專案結構程式碼混亂,比如Ignore,Shadow,Table Splitting等