如何仅在实体类中设置属性顺序以匹配EF迁移脚本列顺序?
解决方案
直接在业务类Test的Name属性上添加[Column(Order = 10)]特性(数值只要介于基类属性的Order值之间即可,比如0和100之间的任意整数),就能仅通过实体类特性配置实现你期望的列顺序,无需使用Fluent API。
修改后的Test类代码如下:
public class Test: BaseModel { [Column(Order = 10), MaxLength(200), Required] public string Name { get; set; } }
原理说明
EF在生成数据库列时,会依据Column特性的Order属性值排序:数值越小,列的位置越靠前。你的基类中ID的Order为0,IsDeleted的Order为100,给Name设置中间数值后,它会自动排在两者之间,最终生成的迁移脚本列顺序就会是id → name → is_deleted。
内容的提问来源于stack exchange,提问作者Xt Yuan
相关产品推荐
相关产品推荐

