asp.net EF model中的默认值设置
程序员文章站
2023-10-13 17:48:30
在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(createdate)”字段就会常常这样设计。
如果...
在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(createdate)”字段就会常常这样设计。 如果希望能有默认值,且让.net 程序在新增信息到数据库时不用指定的值的话,那么你需要在你的该属性(property)上面加上一个databasegenerated属性(attribute),并传入databbasegeneratedoption.computed参数到databasegenerated 属性中。 在调用databasegenerated属性时记得提前引用命名空间 system.componentmodel.dataannotations, system.componentmodel.dataannotations.schema; 具体实现如下: using system; using system.collections.generic; using system.linq; using system.componentmodel.dataannotations; using system.componentmodel.dataannotations.schema; namespace artech.vm.models { public class movieinfo { [databasegenerated(databasegeneratedoption.computed)] public datetime? createdate { get; set; } } } 当然当你模型生成成功之后你会看到数据库是没有设置默认值的,因为ef的orm是不支持设置默认值的,要设置的话,也只能手动添加上去,ef今后应该也不会添加此功能,因为为了减少.net 原生对象与数据库数据之间转换的变量,当模型的数据来自于数据库自动生成数据时,就很有可能会导致.net对象状态无法追踪的情况。所以在使用entity framewrok时候是无法指定数据库中的默认值的。
推荐阅读
-
Django的model中日期字段设置默认值的问题
-
asp.net EF model中的默认值设置
-
Asp.Net中的获取Web.config中设置的参数!(前后台的代码示例)
-
解决MVC中Model上的特性在EF框架刷新时清空的问题
-
angularJs中ng-model-options设置数据同步的方法
-
ExtJS4给Combobox设置列表中的默认值示例
-
Python中设置变量作为默认值时容易遇到的错误
-
ASP.Net Core中设置JSON中DateTime类型的格式化(解决时间返回T格式)
-
element-ui中的select下拉列表设置默认值方法
-
MYSQL中如何设置列默认值的介绍_MySQL