首页 新闻 会员 周边

EF Core中如何更简单地在配置主键的同时指定数据库字段名

0
悬赏园豆:30 [待解决问题]

在 Entity Framework 中可以这样配置:

modelBuilder.Entity<Category>().HasKey(c => c.CategoryId).HasColumnName("CategoryID");

但迁移到 Entity Framework Core 后就不支持这样的配置,只找到一个啰嗦的配置方法:

modelBuilder.Entity<Category>().HasKey(c => c.CategoryId);
modelBuilder.Entity<Category>().Property(c => c.CategoryId).HasColumnName("CategoryID");

EF Core 中有没有更简单的配置方法?

dudu的主页 dudu | 高人七级 | 园豆:31003
提问于:2018-01-25 18:37

ef core的两个方法一个返回keybuilder,一个返回propertybuilder,责任划分得很清晰,其实更值得推荐

MeetMelody 6年前
< >
分享
所有回答(2)
1

其实 KeyAttribute 定义在 System.ComponentModal 里面,

一是建议就直接加在属性特性上了,省得写代码,二是如果有自定义BaseEntity的话,在BaseEntity中定义了。

特性又不会影响其他类或者方法。不要为了洁癖一定要写FluentAPI。

爱编程的大叔 | 园豆:30839 (高人七级) | 2018-01-25 21:58
0

modelBuilder.Entity<Category>().HasKey(c => c.CategoryId).HasName("CategoryID") 这样可以否?

Jeffcky | 园豆:2789 (老鸟四级) | 2018-01-26 17:12

HasName 设置的是主键(PRIMARY KEY)名称

支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2018-01-26 22:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册